快速排序,二分法排序,插入排序演算法

2021-08-09 23:56:23 字數 1047 閱讀 7338

#include

#include

#include

using namespace std;

/*int a[7];//定義全域性變數,這兩個變數需要在子函式中使用 

void quicksort(int left, int right)

}//最終將基準數歸位 

a[left] = a[i];

a[i] = temp;

quicksort(left, i - 1);//繼續處理左邊的,這裡是乙個遞迴的過程 

quicksort(i + 1, right);//繼續處理右邊的 ,這裡是乙個遞迴的過程 

}*/int main()

//快速排序

quicksort(0, 6);

for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++)

cout << a[i] << endl;

system("pause");*/

//二分法排序

/*for (int i = 1; i < sizeof(a)/sizeof(a[0]); i++) 

else if (a[mid] < temp)

}for (int j = i; j > left; j--) 

a[left] = temp;

}for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++)

cout << a[i] << endl;*/

//插入排序的演算法

int a = ;

int j = 0;

for (int i = 1; i < sizeof(a) / sizeof(a[0]); i++)

a[j + 1] = t;

}for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++)

cout << a[i] << endl;

system("pause");

return 1;

}

排序演算法 插入排序 二分法插入排序

package 插入排序 二分法插入排序 按二分法找到合適位置插入 穩定 基本思想 二分法插入排序的思想和直接插入一樣,只是找合適的插入位置的方式不同,這裡是按二分法找到合適的位置,可以減少比較的次數。public class 二分法插入排序 system.out.println 排序前 for i...

排序 二分法插入排序

不同點 在尋找插入位置的時候採用二分法定位。二分法怎麼定位?執行結果 原陣列 21 8 2 18 0 9 27 12 5 24 第0次迴圈排序結果 8 21 2 18 0 9 27 12 5 24 第1次迴圈排序結果 2 8 21 18 0 9 27 12 5 24 第2次迴圈排序結果 2 8 18...

二分法插入排序

二分法插入排序 演算法思想簡單描述 在插入第i個元素時,對前面的0 i 1元素進行折半,先跟他們 中間的那個元素比,如果小,則對前半再進行折半,否則對後半 進行折半,直到left right,然後再把第i個元素前1位與目標位置之間 的所有元素後移,再把第i個元素放在目標位置上。二分法沒有排序,只有查...