创建一个链表,可以插入学生信息、删除学生信息
来源:互联网 发布:大学宿舍网络怎么样 编辑:程序博客网 时间:2024/04/30 09:45
//创建一个链表,可以插入学生信息、删除学生信息。
#include <iostream>
#define NULL 0
#define TYPE struct student
#define LEN sizeof (struct student)
using namespace std;
struct student
{
int num;
int age;
struct student *next;
};
//创建一个链表
TYPE *creat(int n)
{
struct student *head,*pf,*pb;
int i;
for(i=0;i<n;i++)
{
pb=(TYPE *)malloc(LEN);
printf("input NUMber and Age\n");
scanf("%d%d",&pb->num,&pb->age);
if(i==0){head=pb;pf=pb;}
else pf->next=pb;
pb->next=NULL;
pf=pb;
}
return head;
}
//查找符合学号的节点
TYPE *search(TYPE *head,int num){
TYPE *p;
p=head;
while(p->num!=num&&p->next!=NULL)
p=p->next;
if(p->num==num)return p;
if(p->num!=num&&p->next==NULL)
printf("查不到该学号所在的节点");
return head;
}
//删除学号指定的节点
TYPE *deleted(TYPE *head,int num){
TYPE *pf,*pb;
if(head==NULL)
{
printf("\nempty list!\n");
return head;
}
pb=head;
while(pb->num!=num&&pb->next!=NULL)
{pf=pb;pb=pb->next;}
if(pb->num==num){
if(pb==head)head=pb->next;
else pf->next=pb->next;
free(pb);
}
else
printf("THE NODE CANNOT FOUND!");
return head;
}
//在链表指定的位置插入一个节点
TYPE*insert(TYPE*head,TYPE *pi){
TYPE *pf,*pb;
pb=head;
if(head==NULL){//空表插入
head=pi;
pi->next=NULL;
}
else
{
while((pi->num>pb->num)&&(pb->next!=NULL))
{
pf=pb;
pb=pb->next;
}
if(pi->num<=pb->num)
{
if(pb==head)head=pi;
else pf->next=pi;pi->next=pb;
}
else
{
pb->next=pi;
pi->next=NULL;
}
}
return head;
}
//输出链表的元素
void print(TYPE *head){
printf("number \t\tage\n");
while(head!=NULL)
{
printf("%d\t\t%d\n",head->num,head->age);
head=head->next;
}
}
int main(){
int n,num;
struct student *head,*p;
scanf("%d",&n);
head=creat(n);
print(head);
printf("input the deleted number:");
scanf("%d",&num);
head=deleted(head,num);
print(head);
printf("input the insert number and age:");
p=(TYPE *)malloc(LEN);
scanf("%d%d",&p->num,&p->age);
head=insert(head,p);
print(head);
return 0;
}
- 创建一个链表,可以插入学生信息、删除学生信息
- c语言使用链表编写一个可以实现班级学生管理系统,增加,删除,修改学生信息
- C#创建并连接学生数据库(SqlServer数据库)、创建学生信息表、向表中插入学生信息
- 学生信息是:姓名,学号,性别,年龄,用一个链表,把这些信息连在一起,给出一个age, 在些链表中删除学生年龄等于age的学生信息。
- 学生信息链表
- 连接数据库创建修改删除学生信息
- 一个学生的信息是:姓名,学号,性别,年龄等信息,用一个链表,把这些学生信息连在一起, 给出一个age, 在些链表中删除学生年龄等于age的学生信息。
- 一个学生的信息是:姓名,学号,性别,年龄等信息,用一个链表,把这些学生信息连在一起, 给出一个age, 在些链表中删除学生年龄等于age的学生信息。
- 一个学生的信息是:姓名,学号,性别,年龄等信息,用一个链表,把这些学生信息连在一起, 给出一个age, 在些链表中删除学生年龄等于age的学生信息
- 一个学生的信息是:姓名,学号,性别,年龄等信息,用一个链表,把这些学生信息连在一起, 给出一个age, 在 链表中删除学生年龄等于age的学生信息。
- 笔试题:创建一个单链表,结点包含学生的学号,姓名,性别,年龄信息.写几个程序,实现按学生学号插入,查询,删除等操作.
- 建立一个链表存放学生信息并打印信息
- 学生信息链表实现
- 链表保存学生信息
- 建立学生信息链表
- 建立学生信息链表
- 建立学生信息链表
- 用结构创建学生信息表
- 从"error:file not found \n grub rescue>"说起
- opencv中的矩阵操作
- EventBus介绍
- 深入掌握JMS(三):MessageListener
- struts2,MVC架构,struts详细配置,多个struts配置文件,Action的调用方式
- 创建一个链表,可以插入学生信息、删除学生信息
- 深入掌握JMS(四):实战Queue
- 把C++类成员方法直接作为线程回调函数
- java项目中遇到的问题及解决办法001
- Flash页游用TextField实现图文混排(内含个人构思的一个页游资源加载策略)
- 百度地图之图层展示
- 数据库系统——B+树索引
- 深入掌握JMS(五):实战Topic
- 设置开机自动运行