用单链表作为存储结构,实现线性表(a0,a1....an-1)就地逆置的操作,所谓就地指辅助空间应为O(1)
1条回答 默认 最新
- qzjhjxj 2021-09-22 22:25关注
供参考:
//就地逆置 -- 不带头结点的链表 -- 引用 void reverse(SingleLinkedList * & head) { SingleLinkedList* p=NULL, * q=NULL; p = head->next; head->next = NULL; while (p) { q = p; p = p->next; q->next = head; head = q; } } //就地逆置 -- 带头结点的链表 void reverse(SingleLinkedList * head) { SingleLinkedList* p=NULL, * q=NULL; p = head->next; head->next = NULL; while (p) { q = p; p = p->next; q->next = head->next; head->next = q; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报