// Created by Andri Andriyan // Linked List #include <stdlib.h> #include <conio2.h> #include <stdio.h> typedef struct simpulabjad *point; typedef struct simpulabjad char info; point next; ; point awal,akhir; char abjad; void isi_abjad(char abjad); void sisipan_awal(point *awal, point *akhir, char abjad); void sisipan_akhir(point *awal, point *akhir, char abjad); void sisipan_tengah(point *awal, point *akhir,char abjad,int n); void hapus_abjad(char abjad); void hapus_awal(point *awal, point *akhir); void hapus_akhir(point *awal, point *akhir); void hapus_tengah(point *awal, point *akhir,int n); void tampilan(point awal); main() char abjad; char tekan; do system("cls"); gotoxy(3,21);printf("tekan 1 untuk Penyisipan gerbong"); gotoxy(3,22);printf("tekan 2 untuk Menghapus gerbong"); gotoxy(3,23);printf("tekan 0 untuk keluar"); tampilan(awal); tekan= switch(tekan) case '1' : isi_abjad(abjad); case '2' : hapus_abjad(abjad);
case '0': exit(0); while(tekan!=0); void tampilan(point awal) point p; int i=0; gotoxy(3,9);printf(" [] "); gotoxy(3,10);printf(" ----"); gotoxy(3,11);printf(" //++ "); gotoxy(3,12);printf("//-=- "); gotoxy(2,13);printf("(------"); gotoxy(5,14); printf("èíííííííí¼"); if(awal!=null) p=awal; while(p!=null) gotoxy(10+12*i,10); printf("éííííííííí»"); gotoxy(10+12*i,11); printf("º Gerbong º"); gotoxy(10+12*i,12); printf("º º"); gotoxy(10+12*i,12); printf("º%5c ",p->info); gotoxy(10+12*i,13); printf("èííííííííí¼"); i++; p=p->next; printf("\n"); gotoxy(10+12*i,10); printf("éíííííííí»"); gotoxy(10+12*i,11); printf("º LINKED º");
gotoxy(10+12*i,12); printf("º--------º"); gotoxy(10+12*i,12); printf("º KOSONG º"); gotoxy(10+12*i,13); printf("èíííííííí¼"); void isi_abjad(char abjad) char tekan=0; int n; gotoxy(3,2);printf("masukan abjad : "); abjad=getche(); do textcolor(7); gotoxy(3,3); printf("1. Sisipan di bagian Belakang Loco "); gotoxy(3,4); printf("2. Sisipan di bagian Belakang Gerbong "); gotoxy(3,5); printf("3. Sisipan di Bagian Tengah Gerbong "); gotoxy(3,2); printf("pilih : "); clreol(); tekan=getche(); switch(tekan) case '1' : sisipan_awal(&awal,&akhir,abjad); case '2' : sisipan_akhir(&awal,&akhir,abjad); case '3' : sisipan_tengah(&awal,&akhir,abjad,n); while(tekan!='1'&&tekan!='2'&&tekan!='3'); void sisipan_awal(point *awal, point *akhir, char abjad)
point baru; baru=(point)malloc(sizeof(simpulabjad)); if (baru!=null) baru->info=abjad; baru->next=null; *awal=baru; *akhir=baru; baru->next=*awal; *awal=baru; void sisipan_akhir(point *awal, point *akhir,char abjad) point baru; char tekan; baru = (point)malloc(sizeof(simpulabjad)); if(baru!=null) baru->info=abjad; baru->next=null; *awal=baru; *akhir=baru; (*akhir)->next=baru; *akhir=baru;
void sisipan_tengah(point *awal, point *akhir,char abjad,int n) int i,no; point bantu,baru; sisipan_awal(awal,akhir,abjad); i=1; while(bantu->next!=null) i++; if(n<=1) sisipan_awal(awal,akhir,abjad); if(n>i) sisipan_akhir(awal,akhir,abjad); baru=(point)malloc(sizeof(simpulabjad)); if(baru!=null) baru->info=abjad; baru->next=null; no=1; while(no<(n-1)) no++; baru->next=bantu->next; bantu->next=baru; printf("memori habis");
void hapus_abjad(char abjad) char tekan=0; int n; do textcolor(7); gotoxy(3,3); printf("1. Hapus di bagian Belakang Loco "); gotoxy(3,4); printf("2. Hapus di bagian Belakang Gerbong "); gotoxy(3,5); printf("3. Hapus di Bagian Tengah Gerbong "); gotoxy(3,2); printf("pilih : "); clreol(); tekan=getche(); switch(tekan) case '1' : hapus_awal(&awal,&akhir); case '2' : hapus_akhir(&awal,&akhir); case '3' : hapus_tengah(&awal,&akhir,n); while(tekan!='1'&&tekan!='2'&&tekan!='3'); void hapus_awal(point *awal, point *akhir) point hapus; gotoxy(3,19);printf("gerbong Tidak bisa dihapus. Data Kosong.\n"); if(*awal==*akhir) free(*awal); *awal=*akhir=null;
hapus=*awal; *awal=(*awal)->next; free(hapus); void hapus_akhir(point *awal, point *akhir) point hapus,bantu; gotoxy(3,19);printf("gerbong Tidak bisa dihapus, Data Kosong.\n"); if(*awal==*akhir) free(*akhir); *akhir=*awal=null; while(bantu->next!=*akhir) free(*akhir); bantu->next=null; *akhir=bantu; void hapus_tengah(point *awal, point *akhir, int n) int i,hapus; point bantu,bantu2; gotoxy(3,19);printf("gerbong Dalam Linked List Kosong, Data Kosong \n");
i=1; while(bantu->next!=null) i++; if((n<1) (n>i)) gotoxy(3,19);printf("gerbong Ditengah Linked List Kosong"); if(n==1) hapus_awal(awal,akhir); if(n==i) hapus_akhir(awal,akhir); hapus=1; while(hapus<(n-1)) hapus++; bantu2=bantu->next; bantu->next=bantu2->next; free(bantu2);
This document was created with Win2PDF available at http://www.daneprairie.com. The unregistered version of Win2PDF is for evaluation or non-commercial use only.