Advertisement
AgungAlfiansyah

Untitled

Oct 16th, 2015
358
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.54 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdlib.h>
  3.  
  4. using namespace std;
  5. const int jdata=1024;
  6.  
  7. int data[jdata];
  8. int sdata[jdata];
  9.  
  10. void min(int *data,int &index, int &value){
  11.     index=0; value=data[index];
  12.     for (int i=1; i<jdata; i++)
  13.         if (value>data[i]) {
  14.             value = data[i];
  15.             index =i;
  16.         }
  17. }
  18.  
  19. void max(int *data,int &index, int &value){
  20.     index=0; value=data[index];
  21.     for (int i=1; i<jdata; i++)
  22.         if (value<data[i]) {
  23.             value = data[i];
  24.             index =i;
  25.         }
  26. }
  27.  
  28. void selectionsort(int *data, int *sdata, bool asc){
  29.     int index, value;
  30.     for (int i=0; i<jdata; i++){
  31.         if (asc){
  32.             min(data,index, value);
  33.             sdata[i]=value; data[index]=100000000;
  34.         } else {
  35.             max(data,index, value);
  36.             sdata[i]=value; data[index]=-100000000;
  37.         }
  38.     }
  39. }
  40.  
  41. void optimizedselectionsort(int *data, bool asc){
  42.     int temp;
  43.     for (int i=0; i<jdata-1; i++){
  44.         for (int j=i+1; j<jdata; j++){
  45.             if (asc){
  46.                 if (data[i] < data[j]){
  47.                     temp = data[j]; data[j]=data[i]; data[i]=temp;
  48.                 }
  49.             else {
  50.                 if (data[i] > data[j]){
  51.                     temp = data[j]; data[j]=data[i]; data[i]=temp;
  52.                 }
  53.             }
  54.         }
  55.         }
  56.     }
  57.     for (int i=0; i<jdata; i++) cout << data[i] <<endl;
  58. }
  59.  
  60.  
  61. void bubblesort(int *data, bool asc){
  62.     int temp;
  63.     for (int i=jdata-1; i>1; i--){
  64.         for (int j=0; j<i; j++){
  65.             if (asc){
  66.                 if (data[j]>data[j+1]){
  67.                     temp=data[j]; data[j]=data[j+1];data[j+1]=temp;
  68.                 }
  69.             } else {
  70.                 if (data[j]<data[j+1]){
  71.                     temp=data[j]; data[j]=data[j+1];data[j+1]=temp;
  72.                 }
  73.             }  
  74.         }
  75.     }
  76. }
  77.  
  78. void quicksortiterative(int *data, bool asc){
  79.    
  80. }
  81.  
  82. void quicksortrecursive(int *data, bool asc){
  83.    
  84. }
  85.  
  86.  
  87.        
  88. int main(){
  89.     for (int i=0; i<jdata; i++) data[i]=random()%100;
  90.    
  91.     //testing maximum minimum
  92.     //for (int i=0; i<jdata; i++) cout << data[i] <<endl;
  93.     //int val,index;
  94.     //max(data,val,index);
  95.     //cout << "min :" << val << "  index:" << index <<endl;
  96.     //min(data,val,index);
  97.     //cout << "min :" << val << "  index:" << index <<endl;
  98.    
  99.     //testing selection sort
  100.     for (int i=1024-32; i<jdata; i++) cout << data[i] <<endl;
  101.     selectionsort(data,sdata,true);
  102.     cout <<endl;
  103.     for (int i=1024-32; i<jdata; i++) cout << sdata[i] <<endl;
  104.    
  105.     //testing optimizwd selection sort
  106.     //for (int i=0; i<jdata; i++) cout << data[i] <<endl;
  107.     //cout <<endl;
  108.     //optimizedselectionsort(data,false);
  109.     //cout <<endl;
  110.     //for (int i=0; i<jdata; i++) cout << data[i] <<endl;
  111.  
  112.     //testing bubble sort
  113.     //for (int i=0; i<jdata; i++) cout << data[i] <<endl;
  114.     //bubblesort(data,true);
  115.     //cout <<endl;
  116.     //for (int i=0; i<jdata; i++) cout << data[i] <<endl;
  117.  
  118.    
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement