Advertisement
thienlang

sort

Oct 14th, 2015
309
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.08 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. //hàm lọc
  5. //Lọc từ a số chẵn -> những vị trí đầu trong c.
  6. //lọc số lẻ -> những vị trí sau trong c;
  7. //hàm trả về trị trí của số lẻ đầu tiên trong c
  8. int loc ( int a[], int N, int c[])
  9. {
  10.     int M = 0;
  11.     int x = N - 1;
  12.     for ( int i = 0; i < N; i++)
  13.     {
  14.         if ( a[i] % 2 == 0)
  15.         {
  16.             c[M++] = a[i];
  17.         }
  18.         else
  19.         {
  20.             c[x--] = a[i];
  21.         }
  22.     }
  23.     return M;
  24. }
  25.  
  26. void hoanvi( int &a, int &b)
  27. {
  28.     int temp = a;
  29.     a = b;
  30.     b = temp;
  31. }
  32. void sapxep( int *a, int N, int start,  int end)
  33. {
  34.     //sai chỉ số
  35.     if ( start < 0 || end > N)
  36.         return;
  37.     for ( int i = start; i < end - 1; i++)
  38.     {
  39.         for ( int j = i + 1; j < end; j++)
  40.         {
  41.             if ( a[i] > a[j])
  42.             {
  43.                 int temp  = a[i];
  44.                 a[i] = a[j];
  45.                 a[j] = temp;
  46.             }
  47.         }
  48.     }
  49. }
  50.  
  51. int main()
  52. {
  53.     int a[] = {5, 2, 7, 4, 8, 11, 5, 7 , 9, 12, 6};
  54.     int N = 11;
  55.     int c[11];
  56.     int M = loc(a, N, c);
  57.  
  58.     //sắp xếp tăng
  59.     sapxep(c, N, 0, M);
  60.     sapxep(c, N, M, N);
  61.  
  62.     for ( int i = 0; i < N; i++)
  63.     {
  64.         cout << c[i] << " ";
  65.     }
  66.  
  67.     return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement