相关头文件在blog里面
https://blog.csdn.net/weixin_43172803/article/details/103193039
#pragma warning(disable :4996)
#include <stdio.h>
#include "linetable_linktable.h"
List init(List head) {
head = (List)malloc(sizeof(link));
head->next = NULL;
}
List create(List head) {
List arr, pr;
pr = head;
printf("The linktable has n numbers. Input n:\n");
int n = 0;
scanf("%d", &n);
if (n <= 0) {
printf("The linktable has nothing.\n");
return head;
}
printf("Please input the number the linktable has:\n");
for (int i = 1; i <= n; ++i) {
int m;
scanf("%d", &m);
arr = (List)malloc(sizeof(link));
pr->next = arr;
arr->data = m;
arr->next = NULL;
pr = pr->next;
}
return head;
}
int main() {
List p, pr = NULL, pt = NULL;
int flag = 0;
/* Create a simple linklist. */
List head = NULL;
head = init(head);
head = create(head);
p = head->next;
if(p && p->next)
pr = p->next;
if(pr && pr->next)
pt = pr->next;
if(p)
p->next = NULL;
if (pt && pr && p) {
while (pt) {
pt = pr->next;
pr->next = p;
p = pr;
pr = pt;
}
head->next = p;
}
else if (p && pr) {
head->next = pr;
pr->next = p;
}
if (head->next) {
printf("The reverse result are as followings:\n");
flag = 1;
}
while (head->next) {
printf("%d ", head->next->data);
head = head->next;
}
if(flag)
printf("\n");
return 0;
}