标签:des io os 使用 for sp on c ef
//后插法建立链表,然后从第二个元素(若有的话)开始依次插入到头结点后面从而达到反转链表的效果
题目描述:
输入一个链表,反转链表后,输出链表的所有元素。#include<iostream> #include<cstdlib> using namespace std; typedef struct LNode { struct LNode *next ; int data; }*Linklist; Linklist CreateList(Linklist list,int n) { int num=0; Linklist p=NULL,q=NULL; p=(Linklist)malloc(sizeof(Linklist *)); list=p; p->next=NULL; for(int i=0;i<n;i++) { q=(Linklist)malloc(sizeof(Linklist *)); cin>>num; q->data=num; q->next=NULL; p->next=q; p=q; } return list; } Linklist DesendList(Linklist list) { Linklist p=list->next,q=p->next,s=NULL; p->next=NULL; while(q)//q指向需要插入到头结点后面的元素 { s=q; q=q->next; s->next=p; list->next=s; p=s; } return list; } void TraveseList(Linklist list) { Linklist p=list->next; if(p) { cout<<p->data; p=p->next; } else {cout<<"NULL"<<endl;return ;} while(p) { cout<<' '<<p->data; p=p->next; } cout<<endl; } int main() { int n; while(cin>>n) { if(!n){cout<<"NULL"<<endl;continue;} Linklist list=NULL; list=CreateList( list, n); list=DesendList(list); TraveseList(list); } return 0; } /************************************************************** Problem: 1518 User: hndxztf Language: C++ Result: Accepted Time:250 ms Memory:2972 kb ****************************************************************/
标签:des io os 使用 for sp on c ef
原文地址:http://blog.csdn.net/mnmlist/article/details/39528535