您的位置:首页 > 其它

基于链表:键盘输入若干个整数,按输入数据逆序建立一个带头结点的单链表

2012-04-02 22:42 393 查看
题目:键盘输入若干个整数,按输入数据逆序建立一个带头结点的单链表

#include <stdio.h>
#include <stdlib.h>

typedef struct LNode{
int data;		/* 链表数据 */
struct LNode* next;	/* 链表指针 */
}LNode,*LinkList;

int main()
{
int i,data,count=0;
LinkList L;
LinkList p;
LinkList q;
L = (LinkList)malloc(sizeof(LNode));
L->next = NULL;	/* 头结点 */

q = L;
printf("请输入你的任意个整数,用空格隔开,输入大写字母Q表示结束\n");
do                             /* 创建链表结点,顺序输入元素 */
{
scanf("%d",&data);
p =  (LinkList)malloc(sizeof(LNode));
p->data =data;p->next = NULL;
p->next = q->next;q->next = p;
count++;
}while(getchar() != 'Q');

q = L->next;
i = 1;
printf("按逆序插入,链表中的元素如下:\n");
while(i <= count)                /* 按序输出链表元素 */
{
printf("NO.%d:",i);
printf("%5d\t",q->data);
q = q->next;
if(0 == i%4)
printf("\n");
i++;
}
printf("\n");
/* 释放空间 */
p = L->next;
i=1;
while(i++ <= count)
{
q = p;
p = p->next;
free(q);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐