演算法筆記演算法初步(4 1排序)

2021-10-05 10:57:57 字數 2034 閱讀 6897

1.選擇排序

每次在待排序區間中選擇最小的往前排,隨著排序已排序區間不斷後移

#include//選擇排序

int a[6] = ;

int n = 5;

int main();

int n = 5;

int main();

int n = 5;

int main()

printf("\n");

sort(a,a+5);//a[0]--a[4] 五個數

for(int i=0;i<5;i++)

return 0;

}

注意 double 型別 輸入 lf ,輸出 f 

#include#includeusing namespace std;

//double 型別的sort

int main()

sort(a,a+3);

for(int i=0;i<3;i++)

return 0;

}

cmp 函式的使用

#include#includeusing namespace std;

bool cmp (int a,int b)

int main();

sort(a,a+4,cmp);

for(int i=0;i<4;i++)

return 0;

}

code up刷題

問題 b: 特殊排序

題目鏈結 鏈結

#include#includeusing namespace std;

int main();

while(scanf("%d",&n)!=eof)a[100010];

bool cmp1(stu a,stu b)

bool cmp2(stu a,stu b)

else

}bool c***(stu a,stu b)

else

}int main()

for(int i=0;i題目描述

請寫乙個程式,對於乙個m行m列的(1輸入

共一組資料,輸入的第一行為乙個正整數,表示m,接下來的m行,每行m個整數表示方陣元素。

樣例輸入 copy

415 8 -2 6

31 24 18 71

-3 -9 27 13

17 21 38 69

樣例輸出 copy

159 145 144 135 81 60 44 32 28 27
#include#includeusing namespace std;

int a[10][10];

bool cmp(int a,int b)

int main();//每次樣例重新清零

int cnt = 0;//

//每一行

for(int i=0;i題目鏈結 鏈結

#include#include#includeusing namespace std;

int a[10] = ;

bool cmp(int a,int b)

int main();

int c[10] = ;

for(int i=0;i<10;i++)else

}sort(b,b+n1,cmp);

for(int i=0;i題目鏈結 鏈結

#include#includeusing namespace std;

struct stu ;

bool cmp(stu a,stu b)

else

}int main()

int num[10]=;

for(int i =0;i= g)

}printf("%d\n",cnt);

for(int i=0;i}

return 0;

}

演算法筆記練習 4 1 排序 問題 I 排名

演算法筆記練習 題解合集 題目鏈結 題目描述 今天的上機考試雖然有實時的ranklist,但上面的排名只是根據完成的題數排序,沒有考慮每題的分值,所以並不是最後的排名。給定錄取分數線,請你寫程式找出最後通過分數線的考生,並將他們的成績按降序列印。輸入測試輸入包含若干場考試的資訊。每場考試資訊的第1行...

演算法筆記02 排序演算法

1.歸併排序 歸併排序將整體陣列不斷分成更小的陣列,最終結果是所有陣列中只含有乙個元素,然後兩兩不斷合併。時間複雜度為o nlogn 比如現在有陣列 第一次劃分,第二次劃分,第三次劃分,開始兩兩合併排序 第一次合併,第二次合併,第三次合併,歸併排序中有著遞迴的思想,不斷將陣列劃分成更小的陣列,在這種...

演算法筆記2 排序

1.選擇排序 首先,找到陣列中最小的那個元素,其次,將他和陣列第乙個元素交換位置,再次,在剩下的元素中找到最小的元素,將他和陣列的第二個元素交換位置。如此反覆,直到將整個陣列排序。不斷的選擇剩餘元素的最小值 2.插入排序 對部分有序陣列很有效 為了給要插入的元素騰出空間,我們需要將其餘所有元素在插入...