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

首頁 > 學院 > 開發(fā)設計 > 正文

數(shù)組第k大的元素的位置

2019-11-11 00:36:10
字體:
來源:轉載
供稿:網(wǎng)友
/*快速排序(分治法)原理:是對冒泡排序的一種改進,基本思想是通過一趟排序以待排第一個數(shù)據(jù)(或最后一個數(shù)據(jù))為支點,將待排數(shù)據(jù)分割成獨立的兩部分,其中一部分數(shù)據(jù)均比另一部分數(shù)據(jù)小,則可分別對這兩部分數(shù)據(jù)繼續(xù)進行排序,以達到整個序列有序。時間復雜度:平均:O(nlogn),最壞:O(n^2),空間復雜度:O(logn)*/#include <iostream>using namespace std;int partition(int*L, int low, int high){	int temp = L[low];//以第一個數(shù)據(jù)為支點	while (low < high)//完成一趟排序	{		while (low<high&&L[high] >= temp)			--high;		L[low] = L[high];//比支點小的移到低端		while (low < high && L[low] <= temp)			++low;		L[high] = L[low];//比支點大的移到高端	}//終止循環(huán)之后low和high一定相等	 //int temp=L[high];//以最后一個數(shù)據(jù)為支點	 //while (low < high)//完成一趟排序	 //{	 //	while(low<high&&L[low]<=temp)//從左往右移動,比支點小就不交換	 //		++low;	 //	L[high]=L[low];	 //	while(low<high&&L[high]>=temp)	 //		--high;	 //	L[low]=L[high];	 //}	L[low] = temp;//支點	return low;}void quik_sort(int*L, int low, int high){	if (low < high)	{		int pl = partition(L, low, high);		quik_sort(L, low, pl - 1);		quik_sort(L, pl + 1, high);	}}int main(){	int narry[100], addr[100];	int sum = 1, t;	cout << "Input number:" << endl;	cin >> t;	while (t != -1)//輸入-1則停止輸入數(shù)組元素	{		narry[sum] = t;		addr[sum - 1] = t;		sum++;		cin >> t;	}	sum -= 1;	quik_sort(narry, 1, sum);	for (int i = 1; i <= sum;i++)		cout << narry[i] << '/t';	cout << endl;	int k;	cout << "Please input place you want:" << endl;	cin >> k;	int aa = 1;	int kk = 0;	for (;;)	{		if (aa == k)			break;		if (narry[kk] != narry[kk + 1])//找到第一個開始重復的數(shù)字的位置		{			aa += 1;			kk++;		}	}	cout << "The NO." << k << "number is:" << narry[sum - kk] << endl;	cout << "And it's place is:";	for (int i = 0;i < sum;i++)	{		if (addr[i] == narry[sum - kk])			cout << i << '/t';	}	return 0;}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 当雄县| 静安区| 大足县| 南宫市| 黔西县| 辽源市| 长宁县| 广宁县| 瓦房店市| 稻城县| 墨竹工卡县| 喀喇沁旗| 汉源县| 平昌县| 沭阳县| 凌源市| 临泽县| 伊宁县| 大冶市| 洪江市| 滨海县| 会昌县| 玛纳斯县| 凤阳县| 英吉沙县| 徐汇区| 溧阳市| 翼城县| 大兴区| 开远市| 亳州市| 武威市| 弥渡县| 沛县| 汕尾市| 延津县| 湛江市| 耿马| 芷江| 会宁县| 乃东县|