基于链表:输入若干整数以单链表形式存储起来,然后计算单链表中结点的个数

来源:互联网 发布:php exec无法执行 编辑:程序博客网 时间:2024/05/22 02:01

题目:编写程序,将若干整数从键盘输入,以单链表形式存储起来,然后计算单链表中结点的个数(其中指针P指向该链表的第一个结点)。

#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;q->next = p;q = p;count++;}while(getchar() != 'Q');p = L->next;    /* p指针指向第一个结点 */q = L->next;i=1;printf("你的链表节点数为%d\n:",count);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;}



原创粉丝点击