链表题

时间:2018-12-31 12:00:00 资料大全 我要投稿

链表题

链表题:一个链表的'结点结构

struct Node

{

int data ;

Node *next ;

};

typedef struct Node Node ;

(1)已知链表的头结点head,写一个函数把这个链表逆序 ( Intel)

Node * ReverseList(Node *head) //链表逆序

{

if ( head == NULL || head->next == NULL )

return head;

Node *p1 = head ;

Node *p2 = p1->next ;

Node *p3 = p2->next ;

p1->next = NULL ;

while ( p3 != NULL )

{

p2->next = p1 ;

p1 = p2 ;

p2 = p3 ;

p3 = p3->next ;

}

p2->next = p1 ;

head = p2 ;

return head ;

}

(2)已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序,

链表题

资料共享平台

链表题》(https://www.unjs.com)。(保留所有结点,即便大小相同)

Node * Merge(Node *head1 , Node *head2)

{

if ( head1 == NULL)

return head2 ;

if ( head2 == NULL)

return head1 ;

Node *head = NULL ;

Node *p1 = NULL;

Node *p2 = NULL;

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

{

head = head1 ;

p1 = head1->next;

p2 = head2 ;

}

else

{

head = head2 ;

p2 = head2->next ;

p1 = head1 ;

}

【链表题】相关文章:

1.笔试题(链表)

2.笔试题(链表反向)

3.笔试题(单向链表)

4.链表面试题-一个链表的结点结构

5.笔试题(单向链表的反转)

6.链表操作函数笔试题

7.C++笔试题:关于链表和指针

8.笔试实例:判断单链表中是否存在环