c 資料結構面試題(附答案)

2021-10-08 07:39:35 字數 1834 閱讀 7283

1.設一組初始關鍵字記錄關鍵字為(20,15,14,18,21,36,40,10),則一輪氣泡排序結束後的結果為?

答案:

公升序:15,14,18,20,21,36,10,40

降序:20,15,18,21,36,40,14,10

2.寫乙個函式實現選擇排序?

答案:

void choicesort(int n, int size)

} if (k != i) }

}

3.實現刪除順序表vector中的所有偶數?

答案:

vectorv;

vector::iterator it = v.begin();

for(;it != v.end();)

else

}

4.list的erase函式的引數和返回值分別為什麼型別和表示什麼含義?

答案:

引數:指向要刪除元素的迭代器
5.在乙個單鏈表中,已知q所指結點是p所指結點的前驅結點,若在q和p之間插入s結點的**?

答案:

q->pnext = s;

s->pnext = p;

6.在雙向鍊錶的p所指結點之後插入s所指結點的**?

答案:

s->pfront = p;

s->pnext = p->pnext;

p->pnext->pfront = s;

p->pnext = s;

7.實現佇列的翻轉?

答案:

queueq;

stacks;

for(int i = 1;i <= 10;i++)

while(!q.empty())

8.list和vector的區別?

答案:

1.list:記憶體不一定連續,方便新增刪除,不方便隨機訪問。

2.vector:記憶體連續,不方便新增刪除,方便隨機訪問。

short* * ptr;

int(*ptr)[3];

char*(*ptr)[4];

int* ptr[3];

short* ptr[3][4];

ptr = ptr + 1.分別寫出上面ptr型別時偏移時1的大小為多少個位元組?

答案:

4/12/16/4/16
10.鍊錶結點宣告如下:

struct listnode

;實現查詢單鏈表中的倒數第k個結點(k > 0)(10分)

listnode * getkthnode(listnode * phead, unsigned int k);

答案:

listnode * getkthnode(listnode * phead, unsigned int k) // 函式名前面的r代表反向

if ( pahead == null) // 結點個數小於k,返回null

return null;

while (pahead->m_pnext != null) // 前後兩個指標一起向前走,直到前面的指標指向最後乙個結點

return pbehind; // 後面的指標所指結點就是倒數第k個結點

}

C 面試題(語法,附答案)

1 delegate是引用型別還是值型別?enum int和string呢 難度係數40 答案 delegate引用型別,enum值型別,int引用型別,string引用型別 盡供參考 4 請指出c 中是否有下列關鍵字?virtual sealed abstract import as in got...

PHP面試題(附答案)

1.在php中,當前指令碼的名稱 不包括路徑和查詢字串 記錄在預定義變數 1 中 而鏈結到當前頁面的的前一頁面url記錄在預定義變數 2 中 script name也可以 其它的見參考手冊 語言參考 變數 預定義變數 當前執行指令碼的絕對路徑名 d inetpub wwwroot php est.p...

kafka面試題 附答案

1.什麼是kafka kafka是分布式發布 訂閱訊息系統,它最初是由linkedin公司開發的,之後成為apache專案的一部分,kafka是乙個分布式,可劃分的,冗餘備份的永續性的日誌服務,它主要用於處理流式資料。2.為什麼要使用 kafka?為什麼要使用訊息佇列?緩衝和削峰 上游資料時有突發流...