materi linked list dan bubble sort

6

Click here to load reader

Upload: yunan-helmi-nasution

Post on 17-Jun-2015

1.762 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Materi linked list dan bubble sort

NAMA : YUNAN HELMI

NPM : 0651 11 076

KELAS : C

A. PENGERTIAN LINKED LISTLinked 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 LIST1. 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 list4. 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>

LINKED LIST

Page 2: Materi linked list dan bubble sort

#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;}

Page 3: Materi linked list dan bubble sort

}

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;}

Sorting adalah suatu proses 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

Page 4: Materi linked list dan bubble sort

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 Datacout<<"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 datacout<<"Data Setelah di Sort : ";for(i=1; i<=n; i++){cout<<" "<<data [i];}cout<<"\n\nsorting selesai";getch( );

Page 5: Materi linked list dan bubble sort

}