1.將陣列中的大寫字母與小寫字母分開
例子:乙個陣列中儲存有且僅有大寫和小寫字母,編寫乙個函式對陣列內的字母重新排列,讓小寫字母在大寫字母之前
#include#includeusing namespace std;
//判斷是否為大寫字母
bool isupper(char a)
//判斷是否為小寫字母
bool islower(char a)
void partition(string &str, int low, int high) }}
int main();
partition(a,0,6);
for(int i=0; i<7;i++)
else if(num[current]==1)
current++;
else
}} int main();
partition(num,10);
for(int i=0;i<10;i++)
else
} for(int i=0; i
記一次快速排序演算法的除錯
同學用c 編寫了乙個快速排序的程式,實現如下功能 1,用乙個陣列包含原始資料 2,用乙個陣列包含每個原始資料的位址 3,利用快速排序演算法,對第二個陣列進行排序。很顯然,排序的交換操作與原始資料的儲存分開進行,是為了節省時間。演算法寫出來了,程式編譯執行了,但是 排序前和排序後,輸出的結果居然是一樣...
快速排序 一次遍歷partition的實現
一種partition的實現如下 1 private int partition int array,int left,int right 14 1516 int tem array i 1 17 array i 1 array right 18 array right tem 1920 retur...
排序應用 快速排序,堆排序
題外話很多人都認為 包括過去的筆者 排序演算法各種程式語言都有實現,我們就沒必要再去造輪子了,所以再更多的時候就會忽略它們的應用場景和思想。這裡,筆者的觀點是,改造的輪子還是要造的。有乙個這樣的問題 後續就稱呼為topk問題 給定乙個陣列,返回前k個最小值,返回的陣列順序沒有要求,當然,k小於陣列長...