穩定的排序演算法有:冒泡、插入、歸併、桶排序
不穩定的演算法:快排、選擇、堆排
1.計數排序不基於比較,準備max值+1個桶;
2.遍歷陣列,數值為a時,把桶位置為a的數加一;
3.重構陣列。
class solution ;
int minm=int_max;
int maxm=int_min;
//找到最大最小值
for(int i=0;inums[i]?maxm:nums[i];
} //三個陣列,是否為空、最大、最小值
//一定,一定,一定要初始化為0!!!
bool mempty[length+1]=;
int mmax[length+1]=;
int mmin[length+1]=;
for(int i=0;inums[i]?mmax[a]:nums[i];
mmin[a]=mmin[a]}
} //桶不為空,則計算和前乙個非空桶的差值,不斷更新
int large=mmax[0],res=0;
for(int i=0;i} cout
}
p 3 與 p 3 的區別
p 3 與 p 3 的區別 int p 3 p是乙個陣列,此陣列有3個元素,每個元素都是int型別,也就是指向整型資料的指標型別。int a 10,b 20,c 30 int p 3 而int p 3 中的p是乙個指向陣列的指標,此陣列有3個int型別的元素。例如 int a 3 那麼p就是指向這個...
演算法筆記 左神初級(2)快速排序 堆排序
返回的是等於基準值的數字在陣列中的位置。public static void quicksort int arr quicksort arr,0,arr.length 1 public static void quicksort int arr,int l,int r public static i...
左神初級班 (二)
實現一種狗貓佇列的結構,要求如下 使用者可以呼叫add方法將cat類或dog類的例項放入佇列中 使用者可以呼叫pollall方法,將佇列中所有的例項按照進佇列的先後順序依次彈出 使用者可以呼叫polldog方法,將佇列中dog類的例項按照進佇列的先後順序依次彈出 使用者可以呼叫pollcat方法,將...