下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、華為全套完整試題高級題6、已知一個單向鏈表的頭,請寫出刪除其某一個結點的算法,要求,先找到此結點,然后刪除。slnodetype *Delete(slnodetype *Head,int key)中if(Head->number=key)Head=Pointer->next;free(Pointer);break;Back = Pointer; Pointer=Pointer->next;if(Pointer->number=key) Back->next=Pointer->next;free(Pointer);break;void delete(Node*
2、 p) if(Head = Node) while(p) 有一個16位的整數(shù),每4位為一個數(shù),寫函數(shù)求他們的和。解釋:和 1101+0101+1011+0111感覺應該不難,當時對題理解的不是很清楚,所以寫了一個函數(shù),也不知道對不對。疑問:答案:用十進制做參數(shù),計算時按二進制考慮。/* n就是16位的數(shù),函數(shù)返回它的四個部分之和 */char SumOfQuaters(unsigned short n) char c = 0; int i = 4; do c += n & 15; n = n >> 4; while (-i); return c; 有1,2,.一直到n的無序
3、數(shù)組,求排序算法,并且要求時間復雜度為O(n),空間復雜度O(1),使用交換,而且一次只能交換兩個數(shù).(華為)#include<iostream.h> int main() int a = 10,6,9,5,2,8,4,7,1,3; int len = sizeof(a) / sizeof(int); int temp; for(int i = 0; i < len; ) temp = aai - 1;aai - 1 = ai;ai = temp; if ( ai = i + 1) i+; for (int j = 0; j < len; j+) cout<<
4、;aj<<"," return 0; (慧通)1 寫出程序把一個鏈表中的接點順序倒排typedef struct linknodeint data;struct linknode *next;node;/將一個鏈表逆置node *reverse(node *head)node *p,*q,*r;p=head;q=p->next;while(q!=NULL)r=q->next;q->next=p;p=q;q=r; head->next=NULL;head=p;return head;2 寫出程序刪除鏈表中的所有接點void del_all(
5、node *head)node *p;while(head!=NULL)p=head->next;free(head);head=p;cout<<"釋放空間成功!"<<endl;3兩個字符串,s,t;把t字符串插入到s字符串中,s字符串有足夠的空間存放t字符串void insert(char *s, char *t, int i)char *q = t;char *p =s;if(q = NULL)return;while(*p!='0')p+;while(*q!=0)*p=*q;p+;q+;*p = '0' 分
6、析下面的代碼:char *a = "hello"char *b = "hello"if(a= =b)printf("YES");elseprintf("NO");這個簡單的面試題目,我選輸出 no(對比的應該是指針地址吧),可在VC是YES 在C是NOlz的呢,是一個常量字符串。位于靜態(tài)存儲區(qū),它在程序生命期內恒定不變。如果編譯器優(yōu)化的話,會有可能a和b同時指向同一個hello的。則地址相同。如果編譯器沒有優(yōu)化,那么就是兩個不同的地址,則不同寫一個函數(shù),功能:完成內存之間的拷貝memcpy source code:
7、 270 void* memcpy( void *dst, const void *src, unsigned int len ) 271 272 register char *d; 273 register char *s; 27 275 if (len = 0) 276 return dst; 277 278 if (is_overlap(dst, src, len, len) 279 complain3("memcpy", dst, src, len); 280 281 if ( dst > src ) 282 d = (char *)dst + len - 1
8、; 283 s = (char *)src + len - 1; 284 while ( len >= 4 ) 285 *d- = *s-; 286 *d- = *s-; 287 *d- = *s-; 288 *d- = *s-; 289 len -= 4; 290 291 while ( len- ) 292 *d- = *s-; 293 294 else if ( dst < src ) 295 d = (char *)dst; 296 s = (char *)src; 297 while ( len >= 4 ) 298 *d+ = *s+; 299 *d+ = *s+
9、; 300 *d+ = *s+; 301 *d+ = *s+; 302 len -= 4; 303 304 while ( len- ) 305 *d+ = *s+; 306 307 308 return dst; 309 公司考試這種題目主要考你編寫的代碼是否考慮到各種情況,是否安全(不會溢出)各種情況包括:、參數(shù)是指針,檢查指針是否有效、檢查復制的源目標和目的地是否為同一個,若為同一個,則直接跳出、讀寫權限檢查、安全檢查,是否會溢出memcpy拷貝一塊內存,內存的大小你告訴它strcpy是字符串拷貝,遇到'0'結束 /* memcpy 拷貝不重疊的內存塊 */ void memcpy(void* pvTo, void* pvFrom, size_t size)void* pbTo = (byte*)pvTo;void* pbFrom = (byte*)pvFrom;ASSERT(pvTo != NULL &&a
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 820字借款協(xié)議書范本
- 工程資料買賣合同范本
- 毛坯房裝修半包合同模板
- 商品房購買合同(適用于商品房預售、銷售)
- 勞務承包合同范本
- 2024年專業(yè)委托管理合同模板
- 家政工服務協(xié)議書樣本
- 投標授權書合同書
- 職員股權激勵協(xié)議文本
- 新的公租房買賣合同范本
- 社交APP產品需求文檔-“SOUL”
- 2023年陜煤集團招聘筆試題庫及答案解析
- GB/T 11376-2020金屬及其他無機覆蓋層金屬的磷化膜
- 高二上學期化學人教版(2019)選擇性必修1實驗計劃
- 六年級下冊音樂教案第六單元《畢業(yè)歌》人教新課標
- 世界咖啡介紹 PPT
- 中醫(yī)藥膳學全套課件
- 馬王堆出土文物藝術欣賞-課件
- 初中語文人教六年級下冊《專題閱讀:概括主要事件》PPT
- 13、停電停水等突發(fā)事件的應急預案以及消防制度
- DB42T1811-2022西瓜設施育苗技術規(guī)程
評論
0/150
提交評論