c_cpp 打印链接列表的反向而不实际反转
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 打印链接列表的反向而不实际反转相关的知识,希望对你有一定的参考价值。
// https://www.geeksforgeeks.org/print-reverse-of-a-linked-list-without-actually-reversing/
#include <iostream>
#include <list>
using namespace std;
struct linked_list {
int data;
struct linked_list *next;
};
typedef struct linked_list node;
void print (node* head) {
while (head) {
cout<< head->data << "->";
head =head->next;
}
}
void printreverse (node* head) {
if (head == NULL)
return;
printreverse(head->next);
cout<< head->data << "->";
}
node* insert(node* head, int n) {
if (head == NULL) {
node* list = (node*)malloc(sizeof(node));
list->data = n;
list->next = NULL;
head = list;
return head;
}
node* list = (node*)malloc(sizeof(node));
list->data = n;
list->next = NULL;
node* end = head;
while (end->next)
end = end->next;
end->next = list;
return head;
}
int main() {
int n;
node* head = NULL;
while (true) {
cout<< "enter the number: ";
cin>>n;
if (n==-9)
break;
else
head = insert(head, n);
}
print(head);
cout<< "\n";
printreverse(head);
}
以上是关于c_cpp 打印链接列表的反向而不实际反转的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 以给定大小的组反转链接列表设置1
c_cpp 交换链接列表中的节点而不交换数据
原始链接列表在Java中反向链接列表时被修改
Javascript中的反向数组而不改变原始数组
链接上的反向 ArrayList
c_cpp 206.反向链接清单