国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 东乌| 丘北县| 华坪县| 韶关市| 芜湖市| 阿鲁科尔沁旗| 巴东县| 焉耆| 专栏| 五指山市| 庐江县| 叙永县| 五大连池市| 娄烦县| 奎屯市| 抚宁县| 久治县| 额敏县| 镇康县| 台北县| 石嘴山市| 定西市| 长白| 巨野县| 奇台县| 松江区| 宜章县| 闸北区| 黄石市| 泽库县| 邯郸县| 无锡市| 讷河市| 新密市| 肇源县| 金昌市| 淮北市| 普兰县| 临朐县| 隆化县| 东莞市|