C 面試常見問題 04鍊錶的逆序與合併

2022-03-31 07:35:35 字數 781 閱讀 7584

已知乙個鍊錶的頭指標為head,將該鍊錶逆序。

#includeusing namespace std;

struct node;

typedef struct node node;

node* reverselinklist(node* head)

p2->next = p1;

head =p2;

return p2;

}int main()

已知兩個鍊錶head1,head2各自有序,合併為乙個新的有序鍊錶

#includeusing namespace std;

struct node;

typedef struct node node;

node* mergelinklist(node* head1,node* head2)

if(head2 ==null)

node* head; //新鍊錶

node* p1; //兩個輔助結點

node* p2;

if(head1->data <= head2->data)

else

node* pcur = head; //輔助結點,用來確定新加入結點

while((p1 != null) && (p2 != null))

else

}if(p1 == null)

else

return head;

}int main()

鍊錶常見問題

思路 快慢指標,慢指標每次移動一步,快指標每次移動兩步,如果存在環,那麼兩個指標一定會在環內相遇 把第二個煉表頭節點的頭接到第乙個鍊錶尾部,然後就轉換成判斷單鏈表是否有環的問題了 當快慢指標相遇後,將乙個指標固定在相遇點,另乙個指標回到鍊錶起始位置,然後兩指標每次都移動乙個node,當兩指標再次相遇...

C 面試常見問題

1.引用和指標的區別 區別 1 引用不能為空,指標可以為空 2 引用必須初始化,指標不需要 3 引用初始化以後不能改變,指標可以改變初始化物件後的值 4 引用訪問物件後是直接訪問,指標訪問物件是間接訪問 5 引用大小是所引用物件的大小,指標大小是指標類本身的大小 6 引用沒有const,指標有con...

C 面試常見問題

智慧型指標的作用是管理乙個指標,因為存在以下這種情況 申請的空間在函式結束時忘記釋放,造成記憶體洩漏。使用智慧型指標可以很大程度上的避免這個問題,因為智慧型指標就是乙個類,當超出了類的作用域是,類會自動呼叫析構函式,析構函式會自動釋放資源。所以智慧型指標的作用原理就是在函式結束時自動釋放記憶體空間,...