728x90 AdSpace

  • Latest News

    Categories

    Jumat, 13 Mei 2016

    Kasus 8.7 (Quick Sort)

    Algoritma :
    procedure quick_sort(output data : larik; input L, R : integer)
    Deklarasi
           i, j, p : integer
    Deskripsi
           p <-- data[(L+R) div 2]
           i <-- L
          j <--R
         { mulai membuat partisi }
          while (i<=j) do
                   while (data[i] < p) do i <-- i+1 endwhile
                   while (data[j] > p) do j <-- j -1 endwhile
             if (i<=j) then
                  tukar(data[i], data[j])
                  i <-- i+1
                  j <-- j-1
            endif
         endwhile
         if (L < j) then quick_sort(data,L,j) endif
         if (i < R) then quick_sort(data,i,R) endif
    Dan yang ini Gambar Program C++ yang Menggunakan Aplikasi Dev C++ :

    #include <iostream>
    #include <cstdlib>

    /* run this program using the console pauser or add your own getch, system("pause") or input loop */

    using namespace std;

    void masuk_data(int A[], int n) {
         int i;
         for (i = 0; i < n; i++) {
          cout << "Data ke-%d : ",i+1;
          cin >> A[i];
         }
    }
    void cetak_data(const int A[], int n) {
         int i;
         for (i = 0; i < n; i++)
         cout << "%d ",A[i];
         cout << "\n";
    }
    void tukar (int *a, int *b){
         int temp;
         temp = *a;
         *a = *b;
         *b = temp;
    }
    void quick_sort(int data[], int L, int R) {
         int i, j, p;
         p = data[(L+R) / 2];
         i = L;
         j = R;
         while (i<=j) {
         while (data[i] < p) i++;
         while (data[j] > p) j--;
         if (i<=j){
          tukar(&data[i], &data[j]);
          i++;
          j--;
          }
        }
         if (L < j) quick_sort(data,L,j);
         if (i < R) quick_sort(data,i,R);
    }

    int main(int argc, char** argv) {
        int data[10], n;
     
        cout << "Banyak data : ";
        cin >> n;
        masuk_data(data,n);
        quick_sort(data,0,n-1);
        cetak_data(data,n);

      return 0;
    }


    kunjungi blog saudaran ku untuk nomor yg lain :
    • Blogger Comments
    • Facebook Comments

    0 komentar:

    Posting Komentar

    Item Reviewed: Kasus 8.7 (Quick Sort) Rating: 5 Reviewed By: Unknown
    Scroll to Top