Advertisement
Seregamil

sorting Algorithms

Feb 8th, 2014
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.36 KB | None | 0 0
  1. /*
  2.  
  3. By Seregamil
  4.  
  5. gnomeSort(_array[], size = sizeof _array)
  6. bubbleSort(_array[], size = sizeof _array)
  7. selectionSort(_array[], size = sizeof _array) - very fast
  8.  
  9. */
  10. #include a_samp
  11.  
  12. main(){}
  13.  
  14. new array[] = {
  15.     435,52,6234,463,73,4,2,43,52,64,1,24,64,13
  16. };
  17.  
  18. public OnGameModeInit(){
  19.     selectionSort(array);
  20.     //or gnomeSort(array);
  21.     //or bubbleSort(array);
  22.     return 1;
  23. }
  24.  
  25. gnomeSort(_array[], size = sizeof _array){
  26.     for( new j = 1, swap; j != size;  ){
  27.         if(_array[ j - 1 ] >= _array[ j ]) ++ j;//max to min
  28.         else{
  29.             swap = _array[ j ];
  30.             _array[ j ] = _array[ j - 1 ];
  31.             _array[ j - 1 ] = swap ;
  32.             -- j;
  33.            
  34.             if( j == 0)
  35.                 j = 1;
  36.         }
  37.     }
  38. }
  39.  
  40. bubbleSort(_array[], size = sizeof _array){
  41.     for(new i = 0, j = 0, swap = 0; i != size; i++) {
  42.         for( j = 0 ; j < i ; j++ ) {
  43.             if(_array[i] > _array[j]){//max to min
  44.                 swap = _array[i];
  45.                 _array[i] = _array[j];
  46.                 _array[j] = swap;
  47.             }
  48.         }
  49.     }
  50. }
  51.  
  52. selectionSort(_array[], size = sizeof _array){
  53.     for(new i = 0, minimal = 0, j = 0, swap = 0; i != size - 1; i++){
  54.         minimal = i;
  55.         for(j = i + 1; j != size; j++){
  56.             if(_array[ j ] > _array[ minimal ])//max to min
  57.                 minimal = j;
  58.         }
  59.         if(minimal != i){
  60.             swap = _array[ i ];
  61.             _array[ i ] = _array[ minimal ];
  62.             _array[ minimal ] = swap;
  63.         }
  64.     }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement