// 兩個斬實現乙個佇列
// 兩個佇列實現乙個棧
// 用遞迴顛倒乙個棧
//void reverse(stack&s, int *p)
//#include using namespace std;
#include // 遞迴 棧元素的排序.最小值在top
void order_stack2(stack&st)
} st.push(tmp);
}void order_(stack&st)
// 非遞迴 棧元素的排序.
// 利用兩個輔助棧.以下排序結果,top()是最小元素。
// p1永遠指向第乙個輔助棧,p2用來倒騰
歸併排序和逆序數
歸併排序通過分治的思想可以在nlogn的時間內完成陣列的排序 同時在歸併排序的歸併過程中,又可以通過排序內部的細節獲得原陣列的逆序數,見注釋 直接上 了 void merge int a,int start,int len,int size int l 0,r 0 int mid start len...
插入排序和求逆序數
插入排序的stl版本。include stdafx.h include include include include include include 1.h using namespace std int main int argc,char argv insertionsort a,a 10 模...
列表排序 逆序以及max min和sum
列表排序 修改原列表,不生成新列表的排序 a 1,3,2,4,5,6 print id a 1946419912520 a.sort 預設是公升序排列 print a 1,2,3,4,5,6 a.sort reverse true 降序排列 print a 6,5,4,3,2,1 隨機排序 打亂順序...