Senin, 21 Mei 2018

Mengurutkan Data

pada materi ini, kita dapat mengurutkan data menggunakan beberapa metode atau beberapa cara:
1. Bubble Sort
2. Selection Sort
3. Insertion Sort
4. Quick Sort

hasil akhir dari pengurutan di atas bakalan sama, hanya saja cara pemindahan angkanya yg berbed. Langsung saja kita ke programnya ya...

 #include<iostream>

using namespace std;

void bacaData(int arr[], int n){
    cout<<"\nBaca Data :"<<endl;
    for(int i=1; i<=n; i++){
        cout<<"Data Index ke-"<<i<<":";
        cin>>arr[i];
    }
    cout<<endl;
}
void tampilData(int arr[], int n){
    cout<<"Isi Array :";
    for(int i=1; i<=n; i++){
        cout<<arr[i];
    }
    cout<<endl;
}
void bubbleSort(int arr[], int n){
    int i, k, temp;
  
    for(k=n; k>=2; k--){
        for(i=1; i<=k-1; i++){
            if(arr[i]>arr[i+1]){
                temp=arr[i];
                arr[i]=arr[i+1];
                arr[i+1]=temp;
            }
        }
    }
}
void selectionSort(int arr[], int n){
    int i, j, iMin,temp;
  
    for(i=1; i<=n-1; i++){
        iMin=i;
      
        for(j=i+1; j<=n; j++){
            if(arr[j] < arr[iMin]){
                iMin = j;
            }
        }
        temp = arr[i];
        arr[i] = arr[iMin];
        arr[iMin] = temp;
    }
}
void insertionSort(int arr[], int n){
    int i, temp, blok;
  
    for(i=0; i<=n; i++){
        temp = arr[i];
        blok = i;
      
        while(blok>1 && arr[blok-1]>temp){
            arr[blok] = arr[blok-1];
            blok = blok-1;
        }
        arr[blok]= temp;
    }
}
void quickSort(int arr[], int L, int R){
    int i, j, p, temp;
  
    p = arr[(L+R)/2];
    i = L;
    j = R;
  
    while(i<=j){
        while(arr[i]<p){
            i++;
        }
        while(arr[j]>p){
            j--;
        }
      
        if(i<=j){
            temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
            i++;
            j--;
        }
    }


    if(L<j){
        quickSort(arr, L, j);
    }
    if(i<R){
        quickSort(arr, i, R);
    }
}

int main(){
    int arr[100], n;
  
    cout<<"Masukkan Banyak Data :";
    cin>>n;
  
    bacaData(arr, n);
  
    cout<<"Sebelum Diurutkan :"<<endl;
    tampilData(arr,n);
    cout<<endl;
  
    //cout<<"Setelah diturunkan dengan Bubble Sort :"<<endl;
    //bubbleSort(arr, n);
  
    //cout<<"Setelah diturunkan dengan Selection Sort :"<<endl;
    //selectionSort(arr, n);
  
    //cout<<"Setelah diturunkan dengan Insertion Sort :"<<endl;
    //insertionSort(arr, n);
  
    cout<<"Setelah di urutkan dengan Quick Sort :"<<endl;
    quickSort(arr, 1, n);
  
    tampilData(arr, n);
}

Tidak ada komentar:

Posting Komentar

Mencari Data

program c++ mencari data yg terdapat pada indeks ke-, dengan metode aray linear. #include<iostream> #include<conio.h> using na...