Progam Sorting Struktur Data dengan C/C++

Pengurutan (sorting) adalah proses menyusun kembali data yang sebelumnya telah disusun dengan suatu pola tertentu, sehingga tersusun secara teratur menurut aturan tertentu. Sorting dapat dibedakan menjadi dua jenis yaitu ascending (urut naik) dan descending (urut turun). Ascending adalah pengurutan data dari kecil ke besar, sedangkan descending adalah pengurutan data dari besar ke kecil.

Berikut ini Contoh Pengimplementasian soal Bab Sorting (Pengurutan Data) Struktur Data.
Buatlah Progam Sorting Mencetak Tampilan dengan Menu Pilihan sbb;
1. Input Data,
2. Bubble Sort,
3. Exchange Sort,
4. Selection Sort,
5. Insertion Sort,
6. Quick Sort,
7. Tampilkan Data,
8. Acak Data,
9. Exit
Masukkan pilihan anda=_
Masing-masing inputan dengan ketentuan dari Menu.

Script Progam Sorting Struktur Data dengan C/C++
#include <iostream.h>
#include <conio.h>
int S152[100],U152[100];
int G152;
void tukar(int E152,int N152)
{
int I152;
I152 = S152[N152];
S152[N152] = S152[E152];
S152[E152] = I152;
}
void bubble_sort()
{
for(int W152=1;W152<G152;W152++)
{
for(int A152=G152-1;A152>=W152;A152--)
{if(S152[A152]<S152[A152-1]) tukar(A152,A152-1);}
}
cout<<"bubble sort selesai!"<<endl;
}
void exchange_sort()
{
for (int W152=0; W152<G152-1; W152++)
{
for(int A152 = (W152+1); A152<G152; A152++)
{if (S152 [W152] > S152[A152]) tukar(W152,A152);}
}
cout<<"exchange sort selesai!"<<endl;
}
void selection_sort()
{
int pos,W152,A152;
for(W152=0;W152<G152-1;W152++)
{
pos = W152;
for(A152 = W152+1;A152<G152;A152++)
{if(S152[A152] < S152[pos]) pos = A152;}
if(pos != W152) tukar(pos,W152);
}
cout<<"selection sort selesai!"<<endl;
}
void insertion_sort()
{
int temp,W152,A152;
for(W152=1;W152<G152;W152++)
{
temp = S152[W152];
A152 = W152 -1;
while(S152[A152]>temp && A152>=0)
{S152[A152+1] = S152[A152];
A152--;}
S152[A152+1] = temp;
}
cout<<"insertion sort selesai!"<<endl;
}
void QuickSort(int N152, int T152)
{
int W152,A152;
int mid;
W152 = N152;
A152 = T152;
mid = S152[(N152+T152) / 2];
do{
while (S152[W152] < mid) W152++;
while (S152[A152] > mid) A152--;
if (W152 <= A152){
tukar(W152,A152);
W152++;
A152--;}
} while (W152 < A152);
if (N152 < A152) QuickSort(N152, A152);
if (W152 < T152) QuickSort(W152, T152);
}
void Input()
{
cout<<"Masukkan jumlah data = "; cin>>G152;
for(int W152=0;W152<G152;W152++)
{cout<<"Masukkan data ke-"<<(W152+1)<<" = "; cin>>S152[W152];
U152[W152] = S152[W152];}
}
void Tampil()
{
cout<<"Data : "<<endl;
for(int W152=0;W152<G152;W152++)
{cout<<S152[W152]<<" ";}
cout<<endl;
}
void AcakLagi()
{
for(int W152=0;W152<G152;W152++)
{S152[W152] = U152[W152];}
cout<<"Data sudah teracak!"<<endl;
}
void main()
{
int pil;
clrscr();
do{
clrscr();
cout<<" Sugeng Siswanto - 1412110152 "<<endl;
cout<<"==============================="<<endl;
cout<<"Program Sorting !!!"<<endl;
cout<<"*****************************"<<endl;
cout<<" 1. Input Data"<<endl;
cout<<" 2. Bubble Sort"<<endl;
cout<<" 3. Exchange Sort"<<endl;
cout<<" 4. Selection Sort"<<endl;
cout<<" 5. Insertion Sort"<<endl;
cout<<" 6. Quick Sort"<<endl;
cout<<" 7. Tampilkan Data"<<endl;
cout<<" 8. Acak Data"<<endl;
cout<<" 9. Exit"<<endl;
cout<<" Pilihan Anda = "; cin>>pil;
cout<<"*****************************"<<endl;
switch(pil)
{
case 1:Input(); break;
case 2:bubble_sort(); break;
case 3:exchange_sort(); break;
case 4:selection_sort(); break;
case 5:insertion_sort(); break;
case 6:QuickSort(0,G152-1);
cout<<"quick sort selesai!"<<endl;
break;
case 7:Tampil(); break;
case 8:AcakLagi(); break;
}
getch();
}while(pil!=9);
}

Output Progam Sorting Struktur Data dengan C/C++
Progam Sorting Struktur Data dengan C/C++

Cukup sekian sobat, semoga bermanfaat. Simak juga nih Progam Searching dengan input dan index data (Struktur Data)