逆序输出单链表

来源:互联网 发布:下载软件管家360 编辑:程序博客网 时间:2024/06/05 03:21
#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
int data;
struct node *next;
}linklist;
linklist *head=NULL;
linklist *CreateList(int *arr,int len)
{
int data;
linklist *pCurrent,*rear;
head=(linklist*)malloc(sizeof(linklist));
rear=head;
int count=0;
while(count<len)
{
pCurrent=(linklist*)malloc(sizeof(linklist));
pCurrent->data=arr[count];
rear->next=pCurrent;
rear=pCurrent;
count++;
}
rear->next=NULL;
return head;
}
void ShowList(linklist *head) 
{
while(head)
{
printf("%d ",head->data);
head=head->next;
}
printf("\n");
}


void PrintListReversely(linklist * head)
{
if(head!=NULL)
{
PrintListReversely(head->next);
printf("%d ",head->data);
}


}


int main()
{
int array[]={3,4,5,1,2,-1,7};
CreateList(array,sizeof(array)/sizeof(array[0]));
ShowList(head->next);
PrintListReversely(head->next);
printf("\n");
return 0;

}


0 0
原创粉丝点击