首页 > 代码库 > 编程算法 - 最小的k个数 代码(C)

编程算法 - 最小的k个数 代码(C)

最小的k个数 代码(C)


本文地址: http://blog.csdn.net/caroline_wendy


题目: 输入n个整数, 找出其中的最小k个数.


使用快速排序(Quick Sort)的方法求解, 把索引值(index)指向前k个数.


代码:

/*
 * main.cpp
 *
 *  Created on: 2014.6.12
 *      Author: Spike
 */

/*eclipse cdt, gcc 4.8.1*/

#include <stdio.h>
#include <stdlib.h>

int RandomInRange(int min, int max) {
	int random = rand() % (max-min+1) + min;
	return random;
}

void Swap (int* num1, int* num2) {
	int temp = *num1;
	*num1 = *num2;
	*num2 = temp;
}

int Partition(int data[], int length, int start, int end) {
	if (data =http://www.mamicode.com/= NULL || length <= 0 || start < 0 || end >= length)>
输出:

1 2 3 4