Friday, October 12, 2007

yang mo Nyontek dsb...

ni tugas struktur datanya..
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: