#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
typedef struct linknode{
int value;
struct linknode *pNext;
}Node,*pNode;
pNode createlist(pNode head, int length){
pNode p1;
pNode p2;
p1=(pNode)malloc(sizeof(Node));
p1->pNext=NULL;
p1->value=length;
if (head==NULL) head=p1;
while(length>1){
length--;
p2=(pNode)malloc(sizeof(Node));
p1->pNext=p2;
p2->value=length;
p2->pNext=NULL;
p1=p2;
}
return head;
}
void printlist(pNode head){
pNode temp;
temp=head;
while(temp!=NULL){
printf("%d",temp->value);
temp=temp->pNext;
}
return ;
}
pNode reverselist(pNode head){
pNode p,temp;
p=head->pNext;
head->pNext=NULL;
while(p!=NULL){
temp=p->pNext;
p->pNext=head;
head=p;
p=temp;
}
return head;
}
int main(){
pNode head=NULL;
int length;
scanf("%d", &length);
if(length<=0) return 0;
head=createlist(head,length);
printlist(head);
head=reverselist(head);
printlist(head);
system("pause");
}[c] 单链表创建,打印和反转
最新推荐文章于 2023-11-06 21:48:46 发布
本文介绍了一个使用C语言实现的链表创建与反转的过程。包括链表节点的定义、链表的创建、链表的打印及链表的反转等基本操作。通过具体的代码实现了链表的初始化,并演示了如何对链表进行反转。
1466

被折叠的 条评论
为什么被折叠?



