機試準備(二)

2021-09-22 12:42:30 字數 2639 閱讀 5505

1.判斷是否為閏年

bool isreap(int year)
2.進製轉換

其他進製轉換為十進位制的時候可以使用while

當用十進位制轉換為其他進製的時候需要使用do while

3.回文串

bool judge (char str)

//或者用另一種方式,但是需要注意加上末尾結束符\0 page97

5.選擇排序

思想:從[i,n]中選出最小值,再與a[i]進行交換

複雜度:o(n²)

void selectsort()

} int temp = a[i];

a[i] = a[k];

a[k] = temp;

}}

6.插入排序(考究《演算法書》)

思想:
7.使用c++標準模板stl來排序

#includeusing namespace std;

比較函式:cmp

用於結構體

struct node

//先按照x從大到小進行排序,然後當x相等時,按照y從小到大進行排序

bool cmp(node a,node b)

在stl標準容器中,只有vector,string ,deque才可以使用sort

看vector的排序

新增#include然後main中如下:

vectorv;

v.push_back(3);

v.push_back(1);

v.push_back(2);

sort(v.begin(),v.end());//排好序 1 2 3

看string的排序

#includestring str[3] = ;

sort(str,str+3);//輸出 aaa bbbb cc

//如果需要按照字串的長度從大到小進行排序,設定比較函式

bool cmp(string a,strng b)

sort(str,str+3,cmp);

8.strcmp函式:

#includestrcmp(str1,str2);//當str1> str2時,返回正數,相等返回負數,小於返回負數。注意不一定返回+1或者-1。
9.直接把輸入的數作為陣列的下標來對這個數的性質進行統計。

10.為鍊錶節點分配儲存空間。

c:

以申請乙個int型別和結構體node型別為例:(返回的是指向這塊空間的指標)

int *p = (int *) malloc (sizeof(int));

node*p = (node*) malloc (sizeof(node));

c++:推薦

int *p = new int;

node *p = new node;

釋放malloc和new開闢出來的空間:

malloc:

#includefree(p);//釋放變數p指向的記憶體空間並且將p指向null

new:

delete(p);

11.map

#includeusing namespace std;

map《鍵型別,值型別》 mp;

例:mapmp;

map['c'] = 30;

通過迭代器訪問:

for(map:: iterator it = mp.begin();it!=map.end();it++)

常用的函式:

1. find(key):返回迭代器,

map:: iterator it = mp.find('c');

printf("%c %d",it->first,it->second);

2. erase():

mp.erase(it);刪除需要刪除元素的迭代器。

mp.erase(key);

mp.erase(it,mp.end());//刪除乙個區間內的元素

3. size():獲得對映的對數。

4. clear():清空map中的所有元素

5. 判斷大整數的時候,可以將大整數用字串儲存,然後使用map

12.全排列

13.n皇后

14.簡單貪心

15.區間貪心

16.二分查詢

17.二分法拓展

18.快速冪

19.two pointers

20.歸併排序

機試知識點準備

目錄 複習注意 int範圍 long long 範圍 int轉double輸出 迴圈讀入,直到檔案結尾 while eof 進製轉換問題模板 將int數字存入int陣列中 int型陣列轉換為int數字 scanf函式的返回值問題 scanf函式與getline函式 reverse函式 getchar...

菜鳥的機試準備 王道機試指南 演算法筆記

字串雜湊 100000582 b 100000582 c 100000582 d 今天第幾天?清華 include include using namespace std int month tab 2 13 bool is leapyear int year intmain else 上邊的if ...

機試準備(一) 控制輸出格式

兩種方法 控制符流物件的成員函式 以下是 控制符 方法調節輸出格式的方法 1.設定數值的進製 設定數值的基數 理論基礎 控制符作用 dec設定數值的基數為10 hex設定數值的基數為16 oct設定數值的基數為8 setbase n 設定數值的基數為n 例子 include include incl...