1、引用與指標區別:引用必須初始化,不可以改變值,不可指向null。
2 、字串比較,判斷2個字串是否相等:
int strcmp(char *source, char *dest) 相等返回0,不等返回-1;
}
3 .字串複製,遇到'/0'立即停止複製。
char *strcpy(char *strdest, const char *strsrc) //注意,按道理,source字串應該是const,所以用const *src修飾。
4、子串查詢,返回子字串所在位置
int strindex(char *str,char *substr) //在str中,查詢substr,返回索引位置。
//if
return -1; //子串長度大於要str
}
4 、memcpy() 用來拷貝src前n個位元組到dest所指的位址上。
與strcpy()不同的是,memcpy()會完整的複製n個位元組,不會因為遇到字串結束'/0'而結束。函式返回指向dest的指標。
void *memcpy(void* dest,const void* src, int size)
5、memmove(),對比memcpy()。
void *memmove(void *dest, const void*src,int count)
else // 有位址重疊,從src的串尾開始複製
return dest;
}
6、單鏈表插入刪除節點
首先,定義乙個單鏈表結構體,包含資料和指標(指向下乙個資料)
struct linklist
;
【6.1】單鏈表插入節點
在單鏈表節點p後面插入s節點:只需這2步關鍵步驟
(1)s=(linklist*)malloc(sizeof(linklist);
(2)s->next=p->next ; p->next=s;
完整程式如下:
/***************單鏈表插入節點********************/
int listinsert(linklist *head,int i , int data)
s=(linklist*)malloc(sizeof(linklist));
assert(s!=null);
s->data=data;
s->next=p->next;
p->next=s;//在第i-1個位置後面,即指標p後面插入data
return 1;
}
【6.2】單鏈表刪除節點
/***************單鏈表刪除節點********************/
int listdelete(linklist *head,int i)
q=p->next;
p->next=q->next;//刪除節點i
return 1;
}
7、 翻轉鍊錶(鍊錶逆序),常見面試題。
void reverselinklist(linklist *head)
}
8、實現有序鍊錶上的插入
void linklist(linklist head ,elemtype x)
q =(linklist *)malloc(sizeof(linklist));
assert(q!=null);//判斷是否成功分配記憶體
q->data=x ; //申請節點,插入資料x
q->next=pre->next ;
pre-next=q;
}
9、折半查詢幹啥用?( 用於對遞增順序表的查詢)
int zheban(int *t)
} //while
return -1;
}
10、雙向鍊錶刪除節點p,p後插入節點;
首先,定義乙個雙向鍊錶的結構體元素。
struct link;
/********************雙向鍊錶刪除操作***************************/
int listdelete_dul(struct link *head, int num)
else }
/********************雙向鍊錶插入操作*****************************/
int listinsert_dul(dulinklist *head,int num)
else
}
C 軟體工程師面試必備
拷貝建構函式與深淺拷貝 只在堆上 棧上建立物件 this指標 常函式和常物件 delete this合法嗎 為什麼空類大小不為0 靜態成員變數與靜態成員函式 初始化列表的好處和使用條件 能否通過初始化列表初始化靜態成員變數 友元全域性函式 友元類 友元成員函式 運算子過載及 過載實現 繼承方式 物件...
軟體工程師如何應對面試
軟體工程師如何應對面試 做軟體的人都討厭面試,我也一樣。可為了找工作,提薪水又不得不面對面試這一關。做軟體時間長了,人會變得內向,不太善於表達自己,可是面試是乙個自我推銷的過程。其實正確的態度是應該把面試當作軟體人的人生常態。軟體行業的特點決定了做軟體的人經常需要變換工作。即使進了微軟這樣大企業裡,...
360軟體工程師面試題
1.1億個數,找不存在的數,位圖,2.火車1423456進站出站 排列順序問題,卡特蘭數,3.copystring注意指標為空,返回位址的問題。4.有9個球,3個輕的,3個中的,3個重的,輕中重直接沒有必然的關係,比如輕 重 2 中 是不一定成立的。問稱幾次把球分成3組 5.演算法題 輸入13個不大...