国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

歸并排序

2019-11-14 12:20:35
字體:
來源:轉載
供稿:網友

先一直拆分。拆成很小的段 再拼回來 拼的時候順便把序排了

#include <iostream>using namespace std;int a[5] = { 25, 2, 33343, 5, 1 };void merge(int *a, int first, int mid, int last){	int *b = new int[last - first+1];	int k = 0;	int a1 = first;	int a2 = mid;	int b1 = mid + 1;	int b2 = last;	while (a1<=a2&&b1<=b2)//如果是1 5   2  25比較。就是1 2 比較 依次插入1 2 5 剩下25 在while外面會把剩下的數加入	{		if (a[a1] <a[b1])			b[k++] = a[a1++];		else			b[k++] = a[b1++];	}	if (a1<=a2)//剩下a1這邊一個 如果不是a1應該大于a2	{		for (int i = a1; i <= a2; i++)			b[k++] = a[i];	}	if (b1 <=b2)//剩下b1這邊一個	{		for (int i = b1; i <= b2; i++)			b[k++] = a[i];	}	for (int  i = 0; i < last-first+1; i++)	{		a[first+i] = b[i];	}	delete b;}void merge_sort(int *a,int first,int last){	int mid = 0;	if (first < last)	{		mid = (first + last) / 2;//拆開		merge_sort(a, first, mid);		merge_sort(a, mid + 1, last);		merge(a, first, mid, last);	}}int main(){	merge_sort(a, 0, 4);	for (int i = 0; i < 5; i++)		cout << a[i]<<" ";	system("pause");}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 霸州市| 措勤县| 象山县| 鄂尔多斯市| 当阳市| 平陆县| 会同县| 新河县| 利川市| 赫章县| 寿光市| 汝阳县| 车致| 慈溪市| 闻喜县| 柯坪县| 东兴市| 西畴县| 雅江县| 大丰市| 奇台县| 田东县| 裕民县| 崇仁县| 林周县| 合作市| 额尔古纳市| 建水县| 清镇市| 库尔勒市| 广平县| 丹阳市| 门头沟区| 金坛市| 平阴县| 肥东县| 香格里拉县| 东阿县| 嘉禾县| 科尔| 怀柔区|