回归C基础
实现一个单向链表,并有逆序功能 (大学数据结构经常是这么入门的)
//定义单链表结构体
typedef struct Node{
int value;
struct Node *next;
}Node;
//创建链表
Node* createNode(int value,Node *next){
Node *node = malloc(sizeof(Node));
node->value = value;
node->next = next;
return node;
}
//打印链表
void printList(Node *list){
for (Node *node = list; node != NULL; node = node->next) {
printf("current node value %d \n",node->value);
}
}
//反转链表
Node* reverse(Node *listNode){
Node *reList = NULL;
Node *tmp;
while (listNode != NULL) {
tmp = malloc(sizeof(Node));
//逆转之后,原链表的头结点就是新链表的尾结点
//如果不是第一个结点,则本次产生的新结点是上次结点的前一个
if (reList == NULL) {
tmp->next = NULL;
}else{