KUTIPAN ILMU

TERIMAKASIH ANDA TELAH MENGUNJUNGI BLOG IBRAHIMMANOREK.BLOGSPOT.COM

Contoh Program Link List

|
Disini saya ingin memberi tahukan bagaimana cara membuat Program Link list, dan saya ingin memberikan contoh program yang telah dibuat di kampus saya sendiri..
contoh OUTPUTnya ada dibawah ini :





















Dan buat kodingnya ada dibawah ini :

#include
#include
#include

struct node{
int info;
struct node *next;
};

typedef struct node *simpul;

void main()
{

simpul baru, head=NULL, tail=NULL, temp, prev;
int pilih, data, cari, hapus;
char jwb;
clrscr();

do
{
printf("\n");
printf("=====================\n");
printf("| PROGRAM LINK LIST |\n");
printf("=====================\n");
printf("| 1. Insert |\n");
printf("| 2. View |\n");
printf("| 3. Search |\n");
printf("| 4. Delete |\n");
printf("| 5. keluar |\n");
printf("=====================\n");
printf("| PILIH: ");
scanf("%d", &pilih);
switch(pilih)
{
case 1:

printf("Data Masuk: ");
scanf("%i", &data);

baru = (simpul) malloc(sizeof (struct node));
baru->info = data;
baru->next = NULL; //tidak menuju simpul mana2
if (head == NULL) //khusus simpul pertama LL
{
head = baru; //pointer head, tail, baru sama
tail = baru;
}

else //untuk simpul2 berikutnya
{
tail->next = baru; //sambungkan di belakang
tail = baru;
}

break;

case 2:

temp = head; //tampilkan mulai dr depan
while(temp!=NULL) //ulangi sampai temp bernilai NULL

{
printf("%i ", temp->info);
temp = temp->next; //geser temp ke belakang
}

printf("\n");
break;

case 3:

printf("Cari Angka: ");
scanf("%i", &cari);
temp = head;

while((temp!=NULL)&&(temp->info!=cari))

{
temp = temp->next;
}

if(temp != NULL && temp->info == cari)
printf("Data Ditemukan");
else //if(temp == NULL)
printf("Data Tidak Ditemukan");
printf("\n");
break;

case 4:

printf("Hapus Angka: ");
scanf("%i", &hapus);
temp = head;

while((temp!=NULL)&&(temp->info!=hapus))

{

//prev selalu berada 1 simpul di belakang temp
prev = temp;
temp = temp->next;
}

if(temp != NULL && temp->info == hapus)

{
printf("Yakin Dihapus? (y/t) \n");
flushall();
jwb=getch();
if(jwb == 'y')

{
//jika hapus simpul di tengah
if(temp->next != NULL && temp != head)
prev->next = temp->next;

//jika hapus di depan dan tinggal 1 simpul
else if (temp == head && head->next == NULL)

{
head = NULL;
}

//jika hapus di depan tapi masih ada simpul berikutnya
else if (temp == head && head->next != NULL)

{
head = head->next;
}

//jika hapus di belakang
else if (temp->next == NULL)

{
prev->next = NULL;
tail = prev;
}

free(temp); //hapus dr memori
}
else

printf("| Penghapusan Dibatalkan |\n");
printf("\n");
}
else

printf("| Data Tidak Ditemukan |\n");
printf("\n");
break;
}
}while (pilih!=5);
getch();
return 0;
}


___Semoga Postingan ini bermanfaat untuk anda___

---====nothing is impossible in this world====---

Free Articel

masukkan email anda :


0 komentar:

Posting Komentar