Jawab :
Selection Sort
Ascending
Descending
2.
A. Buatlah suatu tree dari data berikut :
? 22 8 ? 9 18 20 6 26 ? 27 7 23
Jawab :
NPM : 065120130
struct Data_node
{
char nama[25];
char kelas[7];
char nim[10];
};
struct node
{
Data_node data;
node* next;
};
node* _head;
node* _tail;
node* _curr;
node* _entry;
node* _del;
void inisialisasi()
{
_head = NULL;
_tail = NULL;
}
void hapus()
{
node _simpan;
if(_head==NULL)
{
cout<<"\nLinked list kosong, penghapusan tidak bisa
dilakukan."<<endl;
}
else
{
_simpan.data = _head ->data;
cout<<"\nData yang dihapus adalah ";
cout<<_simpan.data.nama<<"/"<<_simpan.data.kelas<<"/"<<_simpan.data.nim<
<endl;
//hapus depan
_del = _head;
_head = _head->next;
delete _del;
}
}
void cetak()
{
_curr = _head;
if(_head == NULL)
cout<<"\ntidak ada data dalam linked list"<<endl;
else
{
cout<<"\nData yang ada dalam linked list : \n"<<endl;
cout<<"\t";
while(_curr!=NULL)
{
cout<<_curr->data.nama<<"/"<<_curr-
>data.kelas<<"/"<<_curr->data.nim;
cout<<" -> ";
_curr = _curr->next;
}
cout<<"NULL";
cout<<endl;
}
}
void menu()
{
char pilih, ulang;
node tmp;
do
{
fflush(stdin);
system("cls");
cout<<"SINGLE LINKED LIST NON CIRCULAR"<<endl;
cout<<"-------------------------------"<<endl;
cout<<"Menu : "<<endl;
cout<<"1. Input data"<<endl;
cout<<"2. Hapus data"<<endl;
cout<<"3. Cetak Data"<<endl;
cout<<"4. Exit"<<endl;
cout<<"Masukkan pilihan Anda : ";
cin>>pilih;
switch(pilih)
{
case '1' :
/*
Pada bagian ini nilai input disimpan pada struct data
yang ada pada struct tmp (tmp.data).
input(tmp.data);
break;
case '2' :
hapus();
break;
case '3' :
cetak();
break;
case '4' :
exit(0);
break;
default :
cout<<"\nPilihan salah"<<endl;
}
cout<<"\nKembali ke menu?(y/n)";
cin>>ulang;
}while(ulang=='y' || ulang=='Y');
}
int main()
{
inisialisasi();
menu();
return EXIT_SUCCESS;
}
Output :