C 筆試 可以實現自動排序的函式 結構

2021-10-09 09:52:28 字數 1726 閱讀 1746

利用priority_queue函式,需新增標頭檔案queue

向堆中新增資料使用push(),彈出資料為pop(),頂部資料為top(),判斷是否為空empty(),示例如下:

#include

#include

intmain()

//大根堆:9 8 4 3 0

//小根堆:0 3 4 8 9

return0;

}

過載queue中的比較器

#include

#include

using

namespace std;

struct node};

struct heapcom

};

需新增標頭檔案algorithm;

時間複雜度為o(n*logn),排序的區間是**[a,b)**,預設是公升序:從小到大

#include

#include

intmain()

;sort

(arr.

begin()

, arr.

end())

;//arr: 0 3 4 7 8

sort

(arr.

begin()

, arr.

end(

), greater<

int>()

);//arr: 8 7 4 3 0

return0;

}

sort過載比較運算

#include

#include

#include

"cstring"

using

namespace std;

typedef

struct studentstudent;

bool

cmp(student a, student b)

else

if(a.math == b.math

}int

main()

,,};

//一定是到stus+3

sort

(stus, stus+

3; cmp)

;for

(int i =

0; i <

3; i++

) cout << a[i]

.name <<

" "<< a[i]

.math <<

" "<< a[i]

.english << endl;

return0;

}

需新增標頭檔案set;

#include

#include

#include

intmain()

;// m_set: 9 7 6 5 3 2 1

for(

const

int var : m_set)

return0;

}

(C語言)實現氣泡排序的函式

題目 寫乙個函式實現氣泡排序功能,函式原型 void bubblesort int data,int n 待排序資料儲存在一維整型陣列data中,排序後的結果也儲存在該陣列中。函式內部不能有任何輸入與輸出操作。如果函式採用其他方法正確實現了排序操作,而不是氣泡排序,可以得一半的分數,如果有錯誤,則根...

c 實現最簡快速排序,你絕對可以看懂

演算法對於程式設計師的重要性不言而喻,今天我和大家分享演算法中的乙個基礎演算法,快速排序。作為一名程式設計師,相信大家都不陌生,但是要大家徒手一次性寫出來,我估計還是有難度的。那麼廢話不多少,我先簡單減少一下概念。快速排序演算法說明 原始陣列l1,從中任意選擇乙個基準數f 一般選擇第1個 小於f的資...

用python實現的可以自動補全的字首樹

1,以下是 部分 import os,sys import json class trietree def init self,is debug 1,is sentence 0 self.tree none self.tree self.is debug is debug self.is sente...