題目:給一群人分隊,每兩人一隊,能力相同才可以組成一隊。解決問題可以提高能力,如乙個人能力為59,解決1個問題能力就變成60。求出在成功分隊的要求下,最少要解決多少問題。
#include
#include
using
namespace std;
intmain()
題目:給乙個無序數列,再給出幾個指定數字,把無序數字排序(公升序),找到指定數字在排序後的數列的位置。
#include
#include
using
namespace std;
int a[
100000
], b[
100000];
intmain()
}if(bl)
cout << b[j]
<<
" not found"
}
題目:給你n個整數,請按從大到小的順序輸出其中前m大的數。
std::ios::
sync_with_stdio
(false
);
#include
#include
using
namespace std;
bool
cmp(
int x,
int y)
//注意怎麼寫變成降序
int a[
1000000];
intmain()
return0;
}
題目:某高校招生辦得到乙份成績列表,上面記錄了考生名字和考生成績。並且對其使用了某排序演算法按成績進行遞減排序。現在請你判斷一下該排序演算法是否正確,如果正確的話,則判斷該排序演算法是否為穩定的。
struct stua[
3000
],b[
3000
];
int
cmp(stu u,stu v)
sort
(b,b+n,cmp)
;
if
(strcmp
(b[i]
.name,a[i]
.name)==0
) s1+=1
;
題目:excel可以對一組紀錄按任意指定列排序。現請你編寫程式實現類似功能。
struct stu
a[100001
];
int
cmp1
(stu u,stu v)
intcmp2
(stu u,stu v)
intc***
(stu u,stu v)
題目:按照逆序對數目對多個字串排序
#include
using
namespace std;
struct dna
a[200
],t;
intmain()
for(i=
0; i)//暴力找逆序
}for
(i=0
; ifor(i=
0; i) cout <.str
}
題目:每次只能交換相鄰的兩個,想要最少的步驟排好序。→求逆序對數,有多少對就是多少步。
void
mergesort
(int
*a,int l,
int r,
int*t)
}for
(int i=l; i) a[i]
= t[i];}
}
for
(int i=
0; i) cin >> a[i]
; ans=0;
//用之前一定要把ans初始化,ans是全域性變數
mergesort
(a,0
, n, t)
;
和上一題很相似,也是求逆序對,主要是讀入讀出的區別,直接放完整**。
#include
using
namespace std;
long
long ans=0;
long
long a[
550000];
long
long t[
550000];
void
mergesort
(long
long
*a,int l,
int r,
long
long
*t)}
for(
int i=l; i) a[i]
= t[i];}
}int
main()
return0;
}
Day7 排序 插入排序和氣泡排序
常用的排序 氣泡排序 插入排序 選擇排序 歸併排序 快速排序 計數排序 基數排序 桶排序 冒泡 插入 選擇 o n 2 基於比較 快排 歸併 o nlogn 基於比較 桶 計數 基數 o n 如何分析乙個排序演算法?排序演算法的執行效率 a.最好情況 最壞情況和平均情況的時間複雜度 b.時間複雜度的...
資料結構和演算法 排序演算法day3
桶排序原理 將陣列分到有限數量的桶裡。每個桶再個別排序 有可能再使用別的排序演算法或是以遞迴方式繼續使用桶排序進行排序 最後依次把各個桶中的記錄列出來記得到有序序列。桶排序是鴿巢排序的一種歸納結果。桶排序適合用在外部排序,例如資料量較大記憶體中放不下就可以,用到桶排序。按照資料特徵將資料分為m個有順...
Mongodb基礎入門(3) 排序和索引
今天繼續mongodb,簡單的記錄下其排序和索引的使用。在mongodb中使用sort 方法對資料進行排序。命令格式 db.collectionname.find sort 引數說明 1 表示降序 1 表示公升序 預設 doc集合中資料如下 db.doc.find db.doc.find sort ...