[問題描述]
將N個關(guān)鍵字去整數(shù)的記錄進行整序, 以使所有關(guān)鍵字為非負數(shù)的記錄排在關(guān)鍵字為負數(shù)的記錄之前,要求使用最少的附加空間,且算法的時間復雜度為O(N)
[輸入]
待排序記錄個數(shù),各關(guān)鍵字的值。
[輸出]
關(guān)鍵字從正負分開,正數(shù)在前
[存儲結(jié)構(gòu)]
待排序記錄順序存儲。
[算法的基本思想]
快速排序算法每次任取一個記錄的關(guān)鍵字為標準,將其余記錄分為兩組將,N個關(guān)鍵字去整數(shù)的記錄進行整序, 以使所有關(guān)鍵字為非負數(shù)的記錄排在關(guān)鍵字為負數(shù)的記錄之前。
#include <iostream>
using namespace std
#define MAXNUM 100//設文件的最長可能長度
void sort(int* keys, const int len)//排序
標簽:
整數(shù)
記錄
上傳時間:
2014-01-13
上傳用戶:aig85