首页 > 代码库 > 序列翻转 指针
序列翻转 指针
#include<stdio.h>#include <string.h>#include <stdlib.h>#define LIST_INIT_SIZE 100#define add 10typedef struct Lnode{ int date; struct Lnode *next;}Lnode ,*LinkList;LinkList CreatList_L(){ LinkList phead, p,L; L=(LinkList)malloc(sizeof(Lnode)); int val, i, n; phead=(LinkList)malloc(sizeof(Lnode)); phead=NULL; printf("请输入您要建立的链表长度:\n"); scanf("%d", &n); printf("请输入您要输入的数据:\n"); for(i=0; i<n; ++i) { scanf("%d", &val); p = (LinkList)malloc(sizeof(Lnode)); p->date = val; if(phead==NULL)//寻找出头结点 L=phead=p; else L->next=p; L=p; } L->next=NULL; return phead;} //CreatList_LLinkList Resver_L(LinkList head){<span style="white-space:pre"> </span>LinkList p, q, r; p = head; q=r=NULL; while(p) { q = p->next; p->next = r; r = p; p = q; } return r;}//Resver_Lvoid output_L(LinkList head){ LinkList p;<span style="white-space:pre"> </span>p=(LinkList)malloc(sizeof(Lnode));<span style="white-space:pre"> </span>p=head;<span style="white-space:pre"> </span>while(p!=NULL){<span style="white-space:pre"> </span>printf("%d ",p->date);<span style="white-space:pre"> </span>p=p->next;} puts("");}//output_Lint main(){<span style="white-space:pre"> </span>int n;<span style="white-space:pre"> </span>LinkList L,head;<span style="white-space:pre"> </span>head=(LinkList)malloc(sizeof(Lnode));<span style="white-space:pre"> </span>head=CreatList_L();<span style="white-space:pre"> </span>printf("翻转之前的序列:\n");<span style="white-space:pre"> </span>output_L(head);<span style="white-space:pre"> </span>printf("翻转之后的序列:\n");<span style="white-space:pre"> </span>head=Resver_L(head);<span style="white-space:pre"> </span>output_L(head);}
序列翻转 指针
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。