sesuai dengan judulnya, ane akan mencoba membuat list dengan tampilannya terurut. Kalau ane buat program lgi kayaknya ribet deh, gimana kalau ane rombak dari postingan sebelumnya, yaitu Contoh Program List dengan fungsi terpisah. Prinsipnya sama sob, hanya mengedit sedikit untuk bisa urut.
Biar lebih mudah sobat copy pastekan saja program dibawah. dan bandingkan ama program kemarin. ok.Caranya sama, yaitu:
Pertama, Buat file untuk fungsi dengan nama "urut.h". Tanpa tanda kutip
Kedua, masukan script berikut kedalam file "urut.h".
struct list
{
int nilai;
list *next;
};
list *element;
list *head, *tail;
list *temp;
void inisial()
{
head = tail = NULL;
}
int input()
{
int x;
cout<<"\n Nilai elemen baru : ";cin>>x;
return x;
}
void proses(int x, int z)
{
element = (list *)malloc(sizeof(list));
element->nilai= x;
element->next= NULL;
if(head==NULL)
{
head=tail=element;
cout<<" "<<element->nilai<<" Diletakan di awal list\n";
}
else
{
if(element->nilai <= head->nilai)
{
element->next=head;
head=element;
cout<<" "<<element->nilai<<" Diletakan di awal list\n";
}
else if(element->nilai >= tail->nilai)
{
tail->next=element;
tail=element;
cout<<" "<<element->nilai<<" Diletakan di akhir ururtan ke- "<<z<<endl;
}
else
{
int urut=1;
list *old, *tmp;
old=tmp=head;
while(tmp->nilai < element->nilai)
{
old=tmp;
tmp=tmp->next;
urut++;
}
old->next=element;
element->next=tmp;
cout<<" "<<element->nilai<<" Terletak pada urutan ke- "<<urut<<endl;
}
}
}
void tampil()
{
temp=head;
cout<<"\n Hasil : ";
while(temp != NULL)
{
cout<<"["<<temp->nilai<<"] ";
temp = temp->next;
}
}
Klau dh selesai, simpan file tersebut.
Ketiga, buat file baru bernama "urut.cpp". Tanpa tanda kutip.
Keemat, masukan script berikut kedalam file "urut.cpp".
#include "iostream.h"
#include "stdlib.h"
#include "conio.h"
#include "urut.h"
void main()
{
int nilaibaru;
char key;
int zz=0;
inisial();
do
{
zz++;
nilaibaru = input();
proses(nilaibaru,zz);
cout<<" Ingin mengulangi [y/t] : ";cin>>key;
clrscr();
}
while(key=='y' || key=='Y');
tampil();
}
Setelah selesai, simpan dan jalankan. Gimana....
Hasilnya terurut bukan....
Ini screenshoot pada sa'at input data.
Ini screenshoot pada penampilan data.
Gimana, semoga berhasil sob....
Catatan : Kedua file harus disimpan pada folder yang sama, dimana program akan dijalankan.
alam senyum dariku untuk semuanya, tetaplah untuk bersemangat. Jangan lupa atau isi buku tamu ya sob. Sedikit pemberitahuan untuk sobat yang ingin mengambil [Copy-Paste], Owner tidak melarang sobat untuk memperbanyak artikel namun Owner berharap sobat berlaku dengan bijak agar mencantumkan link active maupun yang tidak. Owner berharap partisipasinya ya sob.
0 komentar: