标签:
#include <stdio.h> #include <stdlib.h> typedef struct node { int data; struct node *next; }Node; Node *Initiate(Node *linklist) { linklist=NULL; return linklist; } Node* creatlist_end(Node *linklist)//尾插法 { int i,n; Node *p,*q; scanf("%d",&n); for(i=0;i<n;i++) { p=(Node *)malloc(sizeof(Node)); scanf("%d",&p->data); if(NULL==linklist) { q=linklist=p; } else { p->next=NULL; q->next=p; q=p; } } return linklist; } Node* creatlist_front(Node *linklist)//头插法 { Node *q; int i,n; scanf("%d",&n); for(i=0;i<n;i++) { q=(Node*)malloc(sizeof(Node)); scanf("%d",&q->data); q->next=linklist; linklist=q; } return linklist; } Node* reverselist(Node *linklist)//逆置 { Node *pre=linklist; if(NULL==pre) return; Node *pcur=pre->next; while(pcur!=NULL) { Node *pnext=pcur->next; pcur->next=pre; pre=pcur; pcur=pnext; } linklist->next=NULL; linklist=pre; } void printlist(Node *linklist) { while(linklist) { printf("%d ",linklist->data); linklist=linklist->next; } printf("\n"); } int main() { Node *LinkList=Initiate(LinkList); LinkList=creatlist_front(LinkList); printlist(LinkList); LinkList=creatlist_end(LinkList); printlist(LinkList); LinkList=reverselist(LinkList); printlist(LinkList); }
标签:
原文地址:http://www.cnblogs.com/danny0706/p/5768755.html