Untitled
unknown
plain_text
2 years ago
2.8 kB
11
Indexable
#include <iostream> #include <conio.h> using namespace std; #define MAX 10 void swap(int *a, int *b){ int temp; temp = *a; *a = *b; *b = temp; } void viewData(int *arr){ for (int i = 0; i <MAX ; ++i) { if(i == MAX-1){ cout<<arr[i]; }else{ cout<<arr[i]<<"-"; } } cout<<endl; } void bubbleSort(int *arr) { cout<<"bubble sort"<<endl; cout<<"---------------------"<<endl; cout<<"Nilai awal : "<<endl; viewData(arr); cout<<"---------------------"<<endl; for (int i = 0; i < MAX - 1; i++) { for (int j = 0; j < MAX - i - 1; j++) { if (arr[j] > arr[j+1]) { swap(arr[j], arr[j + 1]); viewData(arr); } } } } void insertSort(int *arr){ cout<<"Insert sort"<<endl; cout<<"---------------------"<<endl; cout<<"Nilai awal : "<<endl; viewData(arr); cout<<"---------------------"<<endl; for (int i = 1; i <MAX ; i++) { int j = i; while (j > 0 && arr[j-1] > arr[j]){ swap(arr[j], arr[j-1]); j--; viewData(arr); } } } void selectionShort(int *arr){ cout<<"Selection sort"<<endl; cout<<"---------------------"<<endl; cout<<"Nilai awal : "<<endl; viewData(arr); cout<<"---------------------"<<endl; for (int i = 0; i <MAX-1 ; i++) { int iMin = i; for (int j = i+1 ; j <MAX ; j++) { if (arr[j]< arr[iMin]){ iMin = j; } } if (iMin != i){ swap(arr[i], arr[iMin]); } viewData(arr); } } void insertData(int *dataArr){ cout << "Masukkan " << MAX << " elemen array: "<<endl; for (int i = 0; i < MAX; i++) { cout<<"masukan data ke "<<i+1<<" : "; cin >> dataArr[i]; } cout<<"tekan apa saja untuk lanjut..."; } int main(){ int arr[MAX]; int choose; do{ cout<<"===Sorting==="<<endl; cout<<"1. Insert Data "<<endl; cout<<"2. Insert Sort "<<endl; cout<<"3. Selection Sort"<<endl; cout<<"4. Bubble Sort "<<endl; cout<<"5. EXIT "<<endl; cout<<"Masukan Pilihan : "; cin>>choose; switch (choose) { case 1: insertData(arr); break; case 2: insertSort(arr); break; case 3: selectionShort(arr); break; case 4: bubbleSort(arr); break; default: getch(); break; } getch(); system("cls"); } while (choose != 5); return 0; }
Editor is loading...
Leave a Comment