1. Contoh Program Linked List :
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#include<conio.h>
typedef struct nod
{
int data;
struct nod *next;
} NOD, *NODPTR;
void CiptaSenarai (NODPTR *s)
{
*s = NULL;
}
NODPTR NodBaru(int m)
{
NODPTR n;
n= (NODPTR) malloc(sizeof(NOD));
if (n !=NULL)
{
n-> data = m;
n-> next = NULL;
}
return n;
}
void SisipSenarai (NODPTR *s, NODPTR t, NODPTR p)
{
if (p==NULL){
t -> next = *s;
*s = t;
}
else{
t -> next = p -> next;
p -> next = t;
}
}
void CetakSenarai(NODPTR s)
{
NODPTR ps;
for (ps = s; ps != NULL; ps = ps -> next)
printf("%d --> ",ps -> data);
printf("NULL\n");
getch();
}
//----------------------------------------------------------
int main()
{
clrscr();
NODPTR pel;
NODPTR n;
int i,k, nilai;
CiptaSenarai(&pel);
printf("Masukan banyak data= ");
scanf ("%d", &k);
for(i=1;i<=k;i++)
{
printf ("Masukan datasenarai ke- %d= ",i);
scanf ("%d", &nilai);
n = NodBaru (nilai);
SisipSenarai (&pel, n, NULL);
}
CetakSenarai (pel);
return 0;
}
//------------------------------------
2. Contoh Program Single Linked List :
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <alloc.h>
int pil;
void pilih();
void buat_baru();
void tambah_belakang();
void tambah_depan();
void hapus_belakang();
void hapus_depan();
void tampil();
struct simpul
{
char nim[8], nama [20];
int umur;
struct simpul *next;
} mhs, *baru, *awal=NULL, *akhir=NULL,*hapus,*bantu;
int main()
{
do
{
clrscr();
cout<<"MENU SINGLE LINKEDLIST"<<endl;
cout<<"1. Tambah Depan"<<endl;
cout<<"2. Tambah Belakang"<<endl;
cout<<"3. Hapus Depan"<<endl;
cout<<"4. Hapus Belakang"<<endl;
cout<<"5. Tampilkan"<<endl;
cout<<"6. Selesai"<<endl;
cout<<"Pilihan Anda : ";
cin>>pil;
pilih();
} while(pil!=6);
return 0;
}
void pilih()
{
if(pil==1)
tambah_depan();
else if(pil==2)
tambah_belakang();
else if(pil==3)
hapus_depan();
else if(pil==4)
hapus_belakang();
else if(pil==5)
tampil();
else
cout<<"selesai";
}
void buat_baru()
{
baru=(simpul*)malloc(sizeof(struct simpul));
cout<<"input nim : ";cin>>baru->nim;
cout<<"input nama : ";cin>>baru->nama;
cout<<"input umur : ";cin>>baru->umur;
baru->next=NULL;
}
void tambah_belakang()
{
buat_baru();
if(awal==NULL)
{
awal=baru;
}
else
{
akhir->next=baru;
}
akhir=baru;
akhir->next=NULL;
cout<<endl<<endl;
tampil();
}
void tambah_depan()
{
buat_baru();
if(awal==NULL)
{
awal=baru;
akhir=baru;
akhir->next=NULL;
}
else
{
baru->next=awal;
awal=baru;
}
cout<<endl<<endl;
tampil();
}
void hapus_depan()
{
if (awal==NULL)
cout<<"Kosong";
else
{
hapus=awal;
awal=awal->next;
free(hapus);
}
cout<<endl<<endl;
tampil();
}
void hapus_belakang()
{
if (awal==NULL)
cout<<"Kosong";
else if(awal==akhir)
{
hapus=awal;
awal=awal->next;
free(hapus);
}
else
{
hapus=awal;
while(hapus->next!=akhir)
hapus=hapus->next;
akhir=hapus;
hapus=akhir->next;
akhir->next=NULL;
free(hapus);
}
cout<<endl<<endl;
tampil();
}
void tampil()
{
if (awal==NULL)
cout<<"Kosong";
else
{
bantu=awal;
while(bantu!=NULL)
{
cout<<"nim : "<<bantu->nim;
cout<<" nama : "<<bantu->nama;
cout<<" umur : "<<bantu->umur<<endl;
bantu=bantu->next;
}
}
getch();
}
asalamualaikum mbak
BalasHapusklu bleh minta contoh scrip program senarai yang lain
kirim ke e-mail ea "nanang.sahabat@ymail.com"
artikelnya bermanfaat kak, ini sya jga punya artikel tentang Linked List Dalam Bahasa C, smoga dpt saling melengkapi
HapusLinked List Dalam Bahasa C
Kumpulan Materi Bahasa C, Lengkap dengan contoh program
Waalaikumsalam..
BalasHapusyang baru aku pelajari baru segitu, ntar kalo ada yang baru saya posting lagi.
kenalan donk mba, biar bisa ajarin aku tentang senarai
BalasHapusBoleh.. :) siapa disana?
BalasHapusaku bingung ni mba, bisa minta tolong gak. uda ku otak atik tetep ja masih eror dan bahkan gak mau jalan,, gmana dunk ada solusi gak
BalasHapuslow bisa tolong jawabannya kirim ke email blackh3ry@yahoo.com
//antrian melingkar
#include
#include
#include
#define n 10
void Insert();
void Delete();
void Cetak();
void Inisialisasi();
using namespace std;
int Pil,F,R,C;
char Pilihan[1],Huruf;
char Q[n];
void main()
{
Inisialisasi();
do
{
cout<<" Animasi Queue "<>Pilihan;
Pil=atoi(Pilihan);
switch (Pil)
{
case 1:
Insert();
break;
case 2:
Delete();
break;
case 3:
Cetak();
break;
default:
cout<<" Terima Kasih "<>Huruf;
R=(R+1);
Q[R]=Huruf;
C++;
}
else
cout<<"Antrian Penuh"<0)
{
Huruf=Q[F];
cout<<"Data Yang Diambil \t:"<<Huruf<<endl;
if(F+1)
C--;
}
else
cout<<"Antrian Kosong"<<endl;
}
void Inisialisasi(void)
{
F=0;
R=-1;
}
void Reset(void)
{
F=0;
R=-1;
}
waduh.. maaf baru kebaca hehe
Hapussatu lagi ni mba ,, 2 soal tapi bikin aku mabok.. hahahahah
BalasHapustolong bantuannya yahhh :)
//antrian lurus
#include
#include
#include
#define n 10
void INSERT(void);
void DELETE(void);
void CETAKLAYAR(void);
void Inisialisasi(void);
void RESET(void);
int PIL,F,R;
char PILIHAN[1], HURUF;
char Q[n];
//usingnamespace std;
void main()
{
Inisialisasi();
do
{
cout <<"Animasi Queue"<>HURUF;
Q[++R]=HURUF;
}
else
cout <<"Antrian penuh"<<endl;
}
void CETAKLAYAR(void)
{
if(F<R+1)
{
for (int i=F;i<=R;i++)
cout <<"Q["<<1<<"]="<<Q[i]<<endl;
}
else
cout <<"QUEUE Kosong"<<endl;
}
void DELETE(void)
{
if (F<=R+1)
{
HURUF=Q[F];
Q[F++]='\0';
cout <<"Data yang diambil :"<<HURUF<<endl;
if (F==n)
RESET ();
}
cout <<"Antrian kosong" <<endl;
}
void Inisialisasi(void)
{
F=0;
R=2;
}
void RESET(void)
{
F=0;
R=1;
}
maaf komennya baru kebaca sekarang hehe
Hapustlg mba, Outputx jg dtmplkan... cz sy coba copas program d atas tp ms error
BalasHapusMungkin salah dibagian petiknya mas.. tinggal diperbaiki aja. itu programnya jalan kok :)
HapusMba bisa tanya tentang program enngggaaa???
BalasHapusInsyaallah, tanya apa?
Hapusmba, mungkin pnya jejaring sosial facebook or twitter?? saya pingin lebih mendalami tentang linked list. nah dr jejaring sosial itu nanti kita bisa sharing. facebook saya tkj3.agus25@yahoo.co.id dan twitter @AbeBoanza. terimakasih
BalasHapuskaaa minta izin, copy kodingnya kka buat bembelajaran linked list.. ya ya ya :)
BalasHapusokey :)
Hapusizin copas donk...
BalasHapusSilahkan :)
Hapusklo materi tentang linked list ad a mbak???
BalasHapusmbk bisa minta tlong gk mbak buat program ini. .aku bingung bwtnya. .aku sudah coba bwt gk jadi2 eror aja. .tolong
BalasHapusterima kasih
Buatlah program data KTP, dengan menggunakan pointer pada struct KTP sebagai
berikut:
typedef struct
{
int tgl;
int bln;
int th;
}Tanggal;
typedef struct
{
char noID[5];
char nama[30];
char jenis_kelamin; //’L’ atau ‘P’
Tanggal t;
}KTP;
typedef struct
{
KTP ktp;
int jml;
}Data_KTP;
Data_KTP data_ktp;
Data_KTP *p;
Buatlah fungsi untuk:
1. Menambah data
2. Menampilkan data
Ga bisa dikopas yah :(
BalasHapussepertinya sangat membantu & thanks yaa... salam darisaya teknik informatika Univ.Airlangga Surabaya :)
BalasHapus