Translate

Sunday, May 15, 2016

SHORTING SELECTION PADA C++

metode:
selection sort yang merupakan kombinasi antara sorting dan searching Untuk setiap proses, akan dicari elemen-elemen yang belum diurutkan yang memiliki  nilai terkecil atau terbesar akan dipertukarkan ke posisi yang tepat di dalam array. Misalnya untuk putaran pertama, akan dicari data dengan nilai terkecil dan data ini akan ditempatkan di indeks terkecil (data[0]), pada putaran kedua akan dicari data kedua terkecil, dan akan ditempatkan di indeks kedua (data[1]). Selama proses, pembandingan dan pengubahan hanya dilakukan pada indeks pembanding saja, pertukaran data secara fisik terjadi pada akhir proses.
 
input dan output
input :{ 5, 1, 91, 4, 26, 7, 10, 8, 2 }
output: {1,2,4,5,7,8,18,26,91}

contoh :










subprogram :
c++
void selectionSort(int arr[], int n) {
      int i, j, minIndex, tmp;    
      for (i = 0; i < n - 1; i++) {
            minIndex = i;
            for (j = i + 1; j < n; j++)
                  if (arr[j] < arr[minIndex])
                        minIndex = j;
            if (minIndex != i) {
                  tmp = arr[i];
                  arr[i] = arr[minIndex];
                  arr[minIndex] = tmp;
            }
      }
}


pada c++:

#include <iostream>

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

int selection(){
int data[]= { 5, 1, 91, 4, 26, 7, 10, 8, 2 };
int tmp;
for (int i = 0; i < 9 -1; i++)
  {

        for (int j = i+1; j < 9; j++)
        {
if (data[i] > data[j])
            {
                tmp = data[i];
                data[i] = data[j];
                data[j] = tmp;
            }
}
}

   cout<<"\nData yang telah di urutkan \t:";
        for( int i = 0; i < 9; i++)
                cout << data[i] << " ";
             
              return;
}
int main(int argc, char** argv) {

int data [] = { 5, 1, 91, 4, 26, 7, 10, 8, 2 };
   

     cout<<"\tSELECTION SORT\n\n";
     cout << "Data yang akan di urutkan \t:";
        for( int i = 0; i < 9; i++)
                cout << data[i] << " ";

        cout << endl;
 
cout << selection();

return 0;
}


ini merupakan output dari kode c++ di atas :



 link kelompok :hendika dan  rinto