Anda di halaman 1dari 4

NAMA

: YUNAN HELMI

NPM

: 0651 11 076

KELAS

:C

LINKED
LIST
A. PENGERTIAN LINKED LIST
Linked List adalah sekumpulan elemen bertipe sama yang mempunyai
keterurutan tertentu yang setiap elemennya terdiri dari dua bagian.
Bentuk umumnya :

Keterangan :
Infotype : sebuah type terdefenisi yang menyimpan informasi sebuah
element list.
Next : address dari elemen berikutnya
B. OPERASI-OPERASI LINKED LIST
1. INSERT
Insert adalah menambahkan sebuah simpul baru kedalam suatu linked list.
2. IsEmpty fungsi ini menentukan apakah linked list kosong atau tidak.
3. Find First fungsi ini mencari elemen pertama dari linked list
4. Find Next fungsi ini mencari elemen sesudah elemen yang ditunjuk now.
5. Retrieve fungsi ini mengambil elemen yang ditunjuk oleh now dan elemen
tersebut dikembalikan oleh fungsi.
6. Update fungsi ini mengubah elemen yang ditunjuk oleh now dengan isi dari
sesuatu.
7. Delete Now fungsi ini menghapus elemen yang ditunjuk oleh now.
8. Delete Head fungsi ini menghapus elemen yang ditunjuk head.
9. Clear fungsi ini menghapus linked list yang sudah ada.
Contoh Program Linked List
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<malloc.h>

#define Nil NULL


#define info(P) P->info
#define next(P) P->next
#define First(L) (L)
typedef int InfoType;
typedef struct telmtlist *address;
typedef struct telmtlist
{
InfoType info;
address next;
}elmtlist;
typedef address list;
void CiptaSenarai(list *L)
{
First(*L)=NULL;
}
list NodBaru(int m)
{
list n;
n=(list) malloc(sizeof(elmtlist));
if(n!=NULL)
{
n->info=m;
n->next=NULL;
}
return n;
}
void SisipSenarai(list *L, list t, list p)
{
if(p==NULL)
{
t->next = *L;
*L = t;
}
else
{
t->next = p->next;
p->next = t;
}
}
void CetakSenarai(list L)
{
list ps;
for(ps=L; ps!=Nil; ps=ps->next)
{
cout<<" "<<info(ps)<<" -->";
}
cout<<" NULL"<<endl;
}

int main()
{
list pel;
list n;
int i,k,nilai;
CiptaSenarai(&pel);
cout<<"Masukkan Banyak Data = ";
cin>>k;
for(i=1; i<=k; i++)
{
cout<<"Masukkan Data Senarai ke-"<<i<<" = ";
cin>>nilai;
n = NodBaru(nilai);
SisipSenarai(&pel, n, NULL);
}
CetakSenarai(pel);
getch();
return 0;
}

BUBBLE
Sorting adalah suatu prosesSORT
pengurutan data yang sebelumnya disusun secara acak
atau tidak teratur menjadi urut dan teratur menurut suatu aturan tertentu. Sorting
dapat dibedakan menjadi dua jenis yaitu ascending dan descending. Ascending
adalah pengurutan data dari kecil ke besar, sedangkan descending adalah
pengurutan data dari besar ke kecil. Nah, ada banyak program sorting dalam C++,
seperti bubble sort, selection sort, insertion sort, exchange sort, merge sort, quick
sort, dan lain sebagainya. Kita akan bahas satu per satu. Kali ini kita akan bahas
bubble sort. Metode bubble sort adalah metode yang mendasarkan penukaran 2
buah elemen untuk mencapai keadaan terurut.
Contoh Program Bubble Sort
#include <iostream.h>
#include <conio.h>
int data[10],data2[10];
int n;
void tukar(int a, int b)
{
int t;
t = data[b];
data[b] = data[a];
data[a] = t;

}
void bubble_sort( )
{
for(int i=1;i<=n;i++)
{
for(int j=n; j>=i; j--)
{
if(data[j] < data[j-1]) tukar (j,j-1);
}
}
}
void main( )
{
cout<<"===PROGRAM BUBBLE SORT==="<<endl;
//Input Data
cout<<"Masukkan Jumlah Data : " ;
cin>>n;
for(int i=1;i<=n;i++)
{
cout<<"Masukkan data ke "<<i<<" : ";
cin>>data[i];
data2[i]=data[i];
}
bubble_sort( );
cout<<"\n\n";
//tampilkan data
cout<<"Data Setelah di Sort : ";
for(i=1; i<=n; i++)
{
cout<<" "<<data [i];
}
cout<<"\n\nsorting selesai";
getch( );
}

Anda mungkin juga menyukai