C语言写的循环单链表 例子简单 便于阅读和复习
来源:互联网 发布:淘宝便携自行车 编辑:程序博客网 时间:2024/06/05 14:33
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
char name[20];
struct node *next;
}staff;
/*创建单链表 n:需要向链表中添加的人数*/
staff *create(int n)
{
/* *h:指向头结点 *p:指向当前结点的前一个结点,*s:指向当前结点*/
staff *p,*h,*s;
int i;
if( (h = (staff *)malloc(sizeof(staff))) == NULL)
{
printf("ERROR!");
exit(0);
}
h -> name[0] = '\0';/*头节点数据域为空 指针域指向空*/
h -> next = NULL;
p = h;/*p指向表头结点*/
for(i = 0; i < n; i++)
{
if( (s = (staff *) malloc(sizeof(staff))) == NULL ) /*分配新存储空间并检测*/
{
printf("ERROR!");
exit(0);
}
p -> next = s;
printf("Please input the name of staff:\n");
//给新的节点的数据域赋值
scanf("%s",s -> name);
s -> next = NULL;
p = s;
}
//单链表:尾节点指针域指向NULL 环形链表:尾节点指针域指向头节点
p -> next = h;
return(h);
}
int main()
{
int num;
staff *head;
staff *p;
printf("Input the number of people:\n");
scanf("%d",&num);
head = create(num);
p = head;
while(p -> next != NULL)
{
printf("%s\n",p -> name);
p = p -> next;
}
return 0;
}
#include<stdlib.h>
typedef struct
{
char name[20];
struct node *next;
}staff;
/*创建单链表 n:需要向链表中添加的人数*/
staff *create(int n)
{
/* *h:指向头结点 *p:指向当前结点的前一个结点,*s:指向当前结点*/
staff *p,*h,*s;
int i;
if( (h = (staff *)malloc(sizeof(staff))) == NULL)
{
printf("ERROR!");
exit(0);
}
h -> name[0] = '\0';/*头节点数据域为空 指针域指向空*/
h -> next = NULL;
p = h;/*p指向表头结点*/
for(i = 0; i < n; i++)
{
if( (s = (staff *) malloc(sizeof(staff))) == NULL ) /*分配新存储空间并检测*/
{
printf("ERROR!");
exit(0);
}
p -> next = s;
printf("Please input the name of staff:\n");
//给新的节点的数据域赋值
scanf("%s",s -> name);
s -> next = NULL;
p = s;
}
//单链表:尾节点指针域指向NULL 环形链表:尾节点指针域指向头节点
p -> next = h;
return(h);
}
int main()
{
int num;
staff *head;
staff *p;
printf("Input the number of people:\n");
scanf("%d",&num);
head = create(num);
p = head;
while(p -> next != NULL)
{
printf("%s\n",p -> name);
p = p -> next;
}
return 0;
}
阅读全文
1 0
- C语言写的循环单链表 例子简单 便于阅读和复习
- C语言简单复习
- 从一个简单的例子学习For循环(适合刚刚学习C语言的同学)
- c语言写的循环队列
- c语言写的循环队列
- 我的c语言复习笔记1-说说for循环
- C语言调用lua的简单例子
- C语言实现的简单通讯录例子
- C语言-循环队列的简单实现
- C语言中简单的循环
- C语言复习——循环结构
- C语言的复习
- C语言写的简单病毒程序
- 自己写的C语言简单万年历
- c语言写的简单Windows窗口
- 设置简单的vi常用设置便于C编程
- C语言复习 随手写1
- C语言复习 随手写2
- HTTP 304状态码的详细讲解
- jdbc:oracle:thin:@lcoalhost:1521:orcl11解析
- 纸张尺寸
- 用 c# 来操作WORD的经验总结
- linux sed命令使用
- C语言写的循环单链表 例子简单 便于阅读和复习
- Java之split的坑
- freemarker常见语法
- C++中的重载、覆盖和隐藏的区别
- maven整合SSH框架详解
- PAT_A 1056. Mice and Rice (25)
- opencv Canny图片边缘检测
- Unable to start activity ComponentInfo
- van老师的题