C 之鍊錶操作

2021-05-04 06:12:27 字數 820 閱讀 8001

1 鍊錶題:乙個鍊錶的結點結構

struct node

;typedef struct node node ;

(1)已知鍊錶的頭結點head,寫乙個函式把這個鍊錶逆序(intel)

node * reverselist(node *head) //

鍊錶逆序

p2->next = p1 ;

head = p2 ;

return head ;}

(2)已知兩個鍊錶head1 和head2 各自有序,請把它們合併成乙個鍊錶依然有序。(保留所有結點,即便大小相同)

node * merge(node *head1 , node *head2)

else

node *pcurrent = head ;

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

else

}if ( p1 != null )

pcurrent->next = p1 ;

if ( p2 != null )

pcurrent->next = p2 ;

return head ;

}(3)已知兩個鍊錶head1 和head2 各自有序,請把它們合併成乙個鍊錶依然有序,這次要求用遞迴方法進行。

node * mergerecursive(node *head1 , node *head2)

else

return head ;}2、

鍊錶反轉(採用遞迴方法)

linka* reverse(linka* p,linka*& head)

else

}

C鍊錶操作

include include 定義乙個結構體 struct student 記錄個數 int icount 0 建立鍊錶 struct student create else pnew struct student malloc sizeof struct student scanf s pnew...

C鍊錶操作

define crt secure no warnings include include include typedef struct node slist slist slist create 建立鍊錶 int slist print slist phead 遍歷鍊錶 int slist nod...

C 鍊錶操作

關於鍊錶操作,在c 當中微軟已經提供了乙個linkedlist的資料結構,通過這個類提供的一系列方法就能夠實現鍊錶操作。這裡我提供一段 這是在論壇裡面有人提問時給出的 它實現了自定義鍊錶的操作 讀者可以在此基礎上進一步完善 因為這段 涉及一些c 技巧,所以貼出來給初學者學習c 提供一點參考。實體類 ...