C 练习实例73
题目:反向输出一个链表。
程序分析:无。
实例
// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鸟教程. All rights reserved.
//
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct LNode{
int data;
struct LNode *next;
}LNode,*LinkList;
LinkList CreateList(int n);
void print(LinkList h);
int main()
{
LinkList Head=NULL;
int n;
scanf("%d",&n);
Head=CreateList(n);
printf("刚刚建立的各个链表元素的值为:\n");
print(Head);
printf("\n\n");
system("pause");
return 0;
}
LinkList CreateList(int n)
{
LinkList L,p,q;
int i;
L=(LNode*)malloc(sizeof(LNode));
if(!L)return 0;
L->next=NULL;
q=L;
for(i=1;i<=n;i++)
{
p=(LinkList)malloc(sizeof(LNode));
printf("请输入第%d个元素的值:",i);
scanf("%d",&(p->data));
p->next=NULL;
q->next=p;
q=p;
}
return L;
}
void print(LinkList h)
{
LinkList p=h->next;
while(p!=NULL){
printf("%d ",p->data);
p=p->next;
}
}
banhuxun
ban***un@163.com
结合上个练习
输出结果
banhuxun
ban***un@163.com
钱文欢
qia***ishangdi@sina.com
链表缓冲区读写例子
钱文欢
qia***ishangdi@sina.com
HIT_CCC
117***2963@qq.com
原地逆置单链表,空间复杂度O(1)。
HIT_CCC
117***2963@qq.com
fire_atom
yfa***086@hotmail.com
题解没有给出反转链表的逻辑,这里补充一下:
fire_atom
yfa***086@hotmail.com