Program sisip list

#include <constream.h>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>

struct simpul
{
int angka;
struct simpul*berikut;
};

struct simpul*awal=NULL,*akhir=NULL;
int bil;

void tambah_list_dibelakang(int info);
void sisip_list(struct simpul*first,int info,int posisi);
void sisip_isi_list();
void isi_list();
void tampil_list();

void main()
{
 clrscr();
 isi_list();
 clrscr();
 tampil_list();
 sisip_isi_list();
 tampil_list();
 clrscr();
 getch();
}

void tambah_list_dibelakang(int info)
{
 struct simpul*baru;
 baru = new simpul;
 baru->angka=info;
 if (awal==NULL)
  {
   awal=baru;
  }
 else
  {
   akhir->berikut=baru;
  }
 akhir=baru;
 akhir->berikut=NULL;
}

void isi_list()
{
char jawab;

do
 {
  clrscr();
  cout<<"\n Input Bilangan: ";
  cin>>bil;
  tambah_list_dibelakang(bil);
  cout<<"\n Tambah Data Y/T :";
  cin>>jawab;
 }
 while(toupper(jawab)!='T');
}

void sisip_list(struct simpul *first,int info,int posisi)
{
 struct simpul*bantu,*baru;

 baru=new simpul;
 baru->angka=info;
 bantu=first;

do
 {
  if(posisi!=bantu->angka){bantu=bantu->berikut;}
 }
 while (bantu!=NULL && posisi!=bantu->angka);

 baru->berikut=bantu->berikut;
 bantu->berikut=baru;
}


void sisip_isi_list()
{
 int cari,ganti;

 cout<<"\n Input Bilangan Yang Disisipkan : ";
 cin>>ganti;
 cout<<"\n Bilangan Akan Disisipkan Setelah Angka : ";
 cin>>cari;
 sisip_list(awal,ganti,cari);
 getch();
}


void tampil_list()
{
 struct simpul*baca;
 int i;
 baca=awal;
 i=1;
 while(baca!=NULL)
 {
 cout<<"\n Bilangan ke "<<i<<"yang dibaca :"<<baca->angka;
 i++;
 baca=baca->berikut;
 }
}


Tidak ada komentar:

Posting Komentar

revtwt

iklan