自學CCF認證考題

2021-10-10 18:55:09 字數 2599 閱讀 7304

**

1.fill函式:可以為陣列或者vector中的每個元素賦以相同的值,通常用於初始化!

賦值範圍為:[first,last)

所賦的值為: val

fill()給一位陣列賦值

#include

#include

using

namespace std;

int v[10]

;int

main

(int argc,

char

const

*ar**)

第一二題主要的流程:

自定義sort比較函式:

1.vector存放點排序:

struct point

;vector points;

bool

cmp(

const point &p1,

const point &p2)

else

return p1.dis < p2.dis;

}sort

(points.

begin()

,points.

end(

),cmp)

;

2.陣列自定義排序:

struct point

point[nmax]

;bool

cmp(

const point &p1,

const point &p2)

else

return p1.dis < p2.dis;

}sort

(point,point+n,cmp)

;

優先佇列priority_queue的用法

定義:priority_queue

type 就是資料型別,container 就是容器型別(container必須是用陣列實現的容器,比如vector,deque等等,但不能用 list。stl裡面預設用的是vector),functional 就是比較的方式,當需要用自定義的資料型別時才需要傳入這三個引數,使用基本資料型別時,只需要傳入資料型別,預設是大頂堆

//公升序佇列

priority_queue <

int,vector<

int>

,greater<

int>

> q;

//降序佇列

priority_queue <

int,vector<

int>

,less<

int>

>q;

//greater和less是std實現的兩個仿函式(就是使乙個類的使用看上去像乙個函式。其實現就是類中實現乙個operator(),這個類就有了類似函式的行為,就是乙個仿函式類了)

// 這裡一定要有空格,不然成了右移運算子↓

priority_queue<

int, vector<

int>

, greater<

int>

> c;

//這樣就是小頂堆

//關於priority_queue優先佇列的用法:

stl容器佇列queue的主要函式:

queue入隊,如例:q.push(x); 將x 接到佇列的末端。

queue出隊,如例:q.pop(); 彈出佇列的第乙個元素,注意,並不會返回被彈出元素的值。

訪問queue隊首元素,如例:q.front(),即最早被壓入佇列的元素。

訪問queue隊尾元素,如例:q.back(),即最後被壓入佇列的元素。

判斷queue佇列空,如例:q.empty(),當佇列空時,返回true。

訪問佇列中的元素個數,如例:q.size()

stl容器棧stack的主要函式:

常用函式:

empty:判斷堆疊元素是否為空,true表示棧元素為空;

pop:移除棧頂元素;

push:棧頂新增元素;

top:返回棧頂元素;

size:返回棧中元素數目;

stl容器棧string的主要函式:

string s;

s.empty(): s為空串返回true;

s.size():返回s中字元個數;

stl容器集合set的主要函式:

set容器的常用操作

使用時注意包含標頭檔案 std::set and std::multiset associative containers

s.begin()  返回set容器的第乙個元素

s.end()      返回set容器的最後乙個元素

s.clear() 刪除set容器中的所有的元素

s.empty()     判斷set容器是否為空

s.insert() 插入乙個元素

s.erase() 刪除乙個元素

s.size()     返回當前set容器中的元素個數

set是將丟入的數自動排序去重。

CCF認證 送貨

問題描述 為了增加公司收入,f公司新開設了物流業務。由於f公司在業界的良好口碑,物流業務一開通即受到了消費者的歡迎,物流業務馬上遍及了城市的每條街道。然而,f公司現在只安排了小明乙個人負責所有街道的服務。任務雖然繁重,但是小明有足夠的信心,他拿到了城市的地圖,準備研究最好的方案。城市中有n個交叉路口...

CCF認證 2017 12 遊戲

問題描述 有n個小朋友圍成一圈玩遊戲,小朋友從1至n編號,2號小朋友坐在1號小朋友的順時針方向,3號小朋友坐在2號小朋友的順時針方向,1號小朋友坐在n號小朋友的順時針方向。遊戲開始,從1號小朋友開始順時針報數,接下來每個小朋友的報數是上乙個小朋友報的數加1。若乙個小朋友報的數為k的倍數或其末位數 即...

ccf認證 201712 2 遊戲

題目 問題描述 有n個小朋友圍成一圈玩遊戲,小朋友從1至n編號,2號小朋友坐在1號小朋友的順時針方向,3號小朋友坐在2號小朋友的順時針方向,1號小朋友坐在n號小朋友的順時針方向。遊戲開始,從1號小朋友開始順時針報數,接下來每個小朋友的報數是上乙個小朋友報的數加1。若乙個小朋友報的數為k的倍數或其末位...