用结构体创建静态链表
来源:互联网 发布:淘宝怎么赚钱 编辑:程序博客网 时间:2024/05/18 23:24
#include <stdio.h>#include <malloc.h>#define LEN sizeof(struct student)struct student{ char num[8]; char name[8]; char sex[2]; int age; struct student *next;} stu[10];int main(){ struct student *p,*pt,*head; //分别为指向任意借点、中间节点、头结点的指针 int i,length,iage,flag=1; int find=0; //找到待删除元素 find=1,否则find=0 while (flag==1) {printf("input length of list(<10):"); scanf("%d",&length); if (length<10) flag=0; } //开始建立链表 for (i=0;i<length;i++) { p=(struct student *) malloc(LEN); if (i==0) head=pt=p; else pt->next=p; pt=p; printf("NO.:"); scanf("%s",p->num); printf("name:"); scanf("%s",p->name); printf("sex:"); scanf("%s",p->sex); printf("age:"); scanf("%d",&p->age); } p->next=NULL; p=head; printf("\n NO. name sex age\n"); //显示结果 while(p!=NULL) {printf("%4s%8s%6s%6d\n",p->num,p->name,p->sex,p->age); p=p->next; } //开始删除元素 printf("input age:"); //输入待删年龄 scanf("%d",&iage); pt=head; p=pt; if (pt->age==iage) //链头是待删元素 {p=pt->next; head=pt=p; find=1; } else //链头不是待删元素 pt=pt->next; while (pt!=NULL) {if (pt->age==iage) {p->next=pt->next; find=1; } else // 中间结点不是待删元素 p=pt; pt=pt->next; } if (!find) printf(" not found %d.",iage); p=head; printf("\n NO. name sex age\n"); //显示结果 while (p!=NULL) {printf("%4s%8s",p->num,p->name); printf("%6s%6d\n",p->sex,p->age); p=p->next; } return 0; }
0 0
- 用结构体创建静态链表
- 创建一个静态链表
- 静态链表的创建
- 静态链表 2 结构体数组的实现
- 用结构体创建链表和用类创建链表
- 用C++的类和结构体DIY静态链表及其接口函数
- 静态链表需要创建吗?
- 创建学生成绩静态链表
- 创建学生成绩的静态链表
- 用结构体实现链表的创建、遍历、结点插入、结点删除
- ABAP结构体,内表动态创建
- 用new动态创建结构体
- HTML+CSS编写静态网站-06 创建基础结构
- 用结构创建学生信息表
- 创建基本表结构
- Oracle创建表结构
- mysql创建表结构
- 1.3.1线性链表之静态(结构体数组)链表
- Python 编程学习 chapter2 数值与运算
- 日拱一卒(三十三)
- 【贪心专题】POJ 3258 River Hopscotch (最大化最小值 贪心+二分搜索)
- c&c++反汇编与逆向分析学习笔记(3)--基本数据类型表现形式
- 第三节 Informatica 体系架构之 Service Manager 服务管理器
- 用结构体创建静态链表
- 关于Qt下报错没有mysql驱动问题
- SpringMVC视图解析器
- cin/cout 比 scanf/printf 慢吗
- 第四周 项目三 用对象数组操作长方柱类
- UVaOJ 488 Triangle Wave
- 4
- Devops--配管的终极目标?
- Redis 应用场景