/*
线性时间选择:
给定线性序集中n个元素和一个整数k,1≤k≤n,
要求找出这n个元素中第k小的元素。
输入:
4 3
1 4 3 2
10 5
1 9 8 5 6 3 4 2 0 7
29 18
8,31,60,33,17,4,51,57,49,35,
11,43,37,3,13,52,6,19,25,32,
54,16,5,41,7,23,22,46,29【这个测试没有通过】
输出:
3
4
33
代码是转载的
未解决
*/
#include <stdio.h>
#include <iostream>
#include <algorithm>
using namespace std;
const int MAXSIZE = 10000;
int g_iArr[MAXSIZE];
void swap(int n,int m)
{
int iTemp = g_iArr[n];
g_iArr[n] = g_iArr[m];
g_iArr[m] = iTemp;
}
void bubbleSort(int iLow ,int iHigh)
{
for(int i = iLow ; i <= iHigh ; i++)
{
bool bFlag = true;
for(int j = iHigh ; j > i ; j--)
{
//从后向前比较,若前>后,则交换位置
if(g_iArr[j-1] > g_iArr[j] )
{
int iTemp = g_iArr[j-1];
g_iArr[j-1] = g_iArr[j];
g_iArr[j] = iTemp;
bFlag = false;
}
}
if(bFlag)
{
break;
}
算法设计与分析:第三章 分治 3.7线性时间选择
最新推荐文章于 2022-04-14 11:03:46 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)