materi linked list dan bubble sort
TRANSCRIPT
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
#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;}
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
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( );
}