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

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

歸并排序

2019-11-14 13:04: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");}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武功县| 寻乌县| 和政县| 称多县| 吉水县| 会泽县| 神木县| 红桥区| 武清区| 大荔县| 固安县| 晴隆县| 冀州市| 天等县| 汽车| 榕江县| 陆良县| 松潘县| 诸暨市| 兰考县| 南丹县| 永川市| 文化| 融水| 伊宁市| 永平县| 涟源市| 宝丰县| 突泉县| 棋牌| 旺苍县| 扎兰屯市| 泸西县| 邢台市| 遵义县| 沧州市| 双鸭山市| 永丰县| 阳高县| 镇江市| 汾阳市|