#include <iostream>
#include <cstring>
using namespace std;
#define MAX 1000
//此结构体仅用于表示数据域
struct Data{
char name[10];
int age,num;
};
//创建线性表(顺序表)结构体
struct Slist{
struct Data list[MAX];
int lenth;
};
//1、清空线性表
void refresh(Slist *sl){
sl->lenth = 0;
}
//2、获取线性表的长度
int getlen(Slist *sl){
return sl->lenth;
}
//3、线性表的追加
bool add(Slist *sl,Data data){
if(sl->lenth >= MAX){
cout << "越界,追加失败!";
return false;
}
// sl->lenth++;
sl->list[sl->lenth++] = data;
return true;
}
//4、线性表的删除
void del(Slist *sl,int n){
if(n<0 || n>sl->lenth){
cout << "查无此项!";
return;
}
for(int i=n;i<sl->lenth;i++){
sl->list[i] = sl->list[i+1];
}
sl->lenth--;
}
//线性表的插入
void insert(Slist *sl,int n,Data data){
if(n<0 || n>sl->lenth || sl->lenth+1>=MAX){
cout << "插入失败!";
return;
}
for(int i=sl->lenth;i>=n;i--){
sl->list[i+1] = sl->list[i];
}
sl->lenth++;
sl->list[n] = data;
}
//线性表的修改
void rebuild(Slist *sl,int n,Data data){
if(n<0 || n>sl->lenth || sl->lenth+1>=MAX){
cout << "修改失败!";
return;
}
sl->list[n] = data;
}
//查询所有数据
void searchAll(Slist *sl){
for(int i=0;i<sl->lenth;i++){
printf("%s %d %d\n",sl->list[i].name,sl->list[i].age,sl->list[i].num);
}
}
//关键字查询(按名字查询)
void searchByname(Slist *sl,char *name){
for(int i=0;i<sl->lenth;i++){
if(!strcmp(sl->list[i].name,name)){
printf("%s",sl->list[i].name);
return;
}
}
}
/*
1、清空线性表
2、获取线性表的长度
3、线性表的追加
4、线性表的删除
5、线性表的修改
6、线性表的全部查询
7、线性表的关键字查询
*/
int main(){
Slist list,*sl; //定义线性表
sl = &list;
Data data; //定义数据域
int n; //查询用的项
char name[20]; //关键字
refresh(sl);
do{
scanf("%s %d %d",&data.name,&data.age,&data.num);
if(data.age){
if(!add(sl,data)){
break;
}
}else{
break;
}
}while(1);
searchAll(sl);
cin >> n;
del(sl,n);
searchAll(sl);
cin >> n;
scanf("%s %d %d",&data.name,&data.age,&data.num);
insert(sl,n,data);
searchAll(sl);
return 0;
}
0.0分
0 人评分
简单的a+b (C语言代码)浏览:783 |
C语言训练-求函数值 (C语言代码)浏览:600 |
简单的a+b (C语言代码)浏览:385 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)万恶的long long浏览:907 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:674 |
淘淘的名单 (C语言代码)浏览:1309 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:497 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:692 |
Manchester-弟弟的作业浏览:4153 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)数组思路浏览:640 |