尾指针及其简单实施
发布时间:2021-12-08 18:32:22 所属栏目:教程 来源:互联网
导读:尾指针及其简单应用 循环链表如果拿到最后结点,若没有尾指针(rear),那么需要O(n)的时间。如果有的话,只需要O(1)的时间。 如果有两个链表,需要将他们连接,拥有尾指针只需要O(1)的时间复杂度。 此时,判断循环链表是否为空的方法:rear是否等于rear-next
|
尾指针及其简单应用 循环链表如果拿到最后结点,若没有尾指针(rear),那么需要O(n)的时间。如果有的话,只需要O(1)的时间。 如果有两个链表,需要将他们连接,拥有尾指针只需要O(1)的时间复杂度。 此时,判断循环链表是否为空的方法:rear是否等于rear->next。 一道题目:将两个线性表A(a1,a2,a3...)和B(b1,b2,b3...)连接成一个线性表。 思路:A的rear不再指向A的head,而是指向B的head->next;然后需要将B的head释放(一个链表只能有一个头结点);最后,将B的rear重新指向A的head。 简单实现: Node * Connect(Node *a_rear,Node *b_rear){ //参数是两个尾指针 Node *p = a_rear->next;//p指向A的head a_rear->next = b_rear->next->next; //a->rear指向B的head->next free(b_rear->next); b_rear->next = p; return b_rear; //返回新链表的尾指针 } ![]() (编辑:沧州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |



