tapi pada di edit dulu ya..
plus cari sedikit error..
errornya dikit ko... cuma kan berurutan jadi keliatan error banyak dweh...
.: listing program :.
#include
#include
#include
#define true 1
#define false 0
struct typenode {int info;
struct typenode *next;
};
struct typenode *awal;
struct typenode *akhir;
void buatlistbaru();
void sisipdepan(int IB);
void sisipbelakang(int IB);
void sisiptengah(int IB);
void hapuslist(int IB);
void cetaklist();
main()
{
buatlistbaru();
sisipdepan(10);
sisipbelakang(25);
sisipbelakang(100);
sisiptengah(50);
cetaklist();
getche();
hapuslist(50);
clrscr();
cetaklist();
getche();
return 0;
}
void buatlistbaru()
{
x list;
list=(typenode *)malloc(sizeof(typenode));
list=NULL;
awal=list;
akhir=list;
}
void sisipdepan(int IB)
{
x NB;
NB=(typenode *)malloc(sizeof(typenode));
NB->info=IB;
if (awal==NULL)
{awal=NB;
akhir=NB;}
else
{ NB->next=awal;}
awal=NB;
}
void sisipbelakang(int IB)
{ x NB;
NB=(typenode *)malloc(sizeof(typenode));
NB->info=IB;
if (awal==NULL)
{awal=NB;
akhir=NB;}
else
{ akhir->next=NB;}
akhir=NB;
akhir->next=NULL;
}
void sisiptengah(int IB)
{
x NB,bantu;
NB=(typenode *)malloc(sizeof(typenode));
NB->info=IB;
NB->next=NULL;
if (awal==NULL)
{awal=NB;
akhir=NB;}
else
{ bantu=awal;
while((IB> bantu->next->info) && (bantu->next!=NULL))
bantu=bantu->next;
NB->next=bantu->next;
bantu->next=NB;
}
}
void hapuslist(int IH)
{x hapus, bantu;
if (awal==NULL)
{puts("adhex... liat tuch list masih kosong! ");
getche();}
else{
if (awal->info==IH)
{hapus=awal;
awal=hapus->next;
free(hapus);}
else
{bantu=awal;
while((bantu->next->info!=IH) && (bantu->next!=NULL))
{bantu=bantu->next; }
hapus=bantu->next;
if(hapus==NULL)
{puts("List tidak ditemukan");
getche();}
else
{if (hapus==akhir)
{ akhir=bantu;
akhir->next=NULL;}
else
{bantu->next=hapus->next;}
free(hapus);}
}
}
}
void cetaklist()
{
x bantu;
bantu=awal;
while (bantu!=NULL)
{
printf("%d",bantu->info);
printf(" ");
bantu=bantu->next; }
}
semoga berhasil....
No comments:
Post a Comment