#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] 单链表创建,打印和反转
最新推荐文章于 2022-04-25 21:44:18 发布