#include

#include

#define maxsize 30

typedef int datatype;

typedef struct seqlist{

datatype data[maxsize];

int n;

}seqlist;

struct seqlist L;

//顺序表初始化1-20

void Stu() {

printf("\n顺序表正在初始化...\n\n顺序表能储存的数据最多为30个\n\n\n");

int temp=0,n=0;

for(temp=0;temp<20;temp++){

L.data[temp]=temp+1;

n++;

}//自定义1-20的数据方便检测程序

L.n=n;//改变顺序表长度

};

//输出顺序表当前储存的数据

void Show(){

int temp;

printf("\n\n顺序表当前储存的数据:\n ");

for(temp=0;temp

printf(" %d ",L.data[temp]);

}

printf("\n");

}

//在顺序表中输入数据

void inList(){

int newn,temp;

reset1:

printf("\n请输入需要储存的数据个数:\n");

scanf("%d",&newn);

if(newn>maxsize){

printf("\n顺序表最多储存%d个数据!\n",maxsize);

goto reset1;

}

printf("\n请输入你需要储存的数据:\n");

for(temp=0;temp

scanf("%d",&L.data[temp]);

}//输入\更改数据

for(temp=newn;temp

L.data[temp]=0;

}//将不需要储存的数据置零

L.n=newn;//更新顺序表长度

printf("\n你插入的数据为:");

for(temp=0;temp

printf("%d\t",L.data[temp]);

}

}

//在顺序表中查找某一个逻辑位置的数据并输出

void search1(){

int x;

reset2://判断输入的逻辑位置

printf("\n请输入你需要在顺序表中查找的逻辑位置:\n");

scanf("%d",&x);

if(x<1||x>maxsize){

printf("\n逻辑位置最低为1,最高为30!\n");

goto reset2;

}

int temp;

for(temp=0;temp

if(x==(temp+1)){

printf("\n顺序表中这个位置的数据为%d\n",L.data[temp]);

return ;

}

}

printf("顺序表中的这个逻辑位置未储存数据!\n");

}

//在顺序表中查找数据输入它的逻辑位置

void search2(){

int x;

printf("\n请输入你需要在顺序表中查找的数据:\n");

scanf("%d",&x);

int temp;

for(temp=0;temp

if(L.data[temp]==x){

printf("\n查找成功!\n它在顺序表中的逻辑位置为%d\n",temp+1);

return ;

}

}

printf("在顺序表中未找到这个数据!");

}

//在顺序表中插入数据

void insert(){

if(L.n==maxsize){//表满则无法插入

printf("当前顺序表已储存了30个数据,无法插入!\n");

return;

}

if(L.n==0){//表空则无法插入

printf("当前顺序表没有储存数据,无法插入!\n");

return;

}

int p,x,temp1;

reset3://判断输入的逻辑位置

printf("\n请输入你在顺序表中需要插入数据的逻辑位置:\n");

scanf("%d",&p);

if(p<1||p>L.n){//插入的逻辑位置不能是顺序表的前驱和最后的后继

printf("\n插入的逻辑位置最小为1,最高为%d!\n",L.n);

goto reset3;

}

printf("\n请输入该数据:\n");//提示输入并输入

scanf("%d",&x);

for(temp1=L.n;temp1>=p;temp1--){

L.data[temp1+1]=L.data[temp1];

}

L.data[p]=x;

L.n++;

printf("\n插入数据后变为:");

for(temp1=0;temp1

printf("%d\t",L.data[temp1]);

}

}

//删除顺序表中的某个位置的数据

int deletel(){

if(L.n==0){//表空无法删除

printf("当前顺序表没有储存数据,无法删除!\n");

return;

}

int p,temp;

reset4:

printf("\n请输入你在顺序表中需要删除的数据的逻辑位置:\n");

scanf("%d",&p);

if(p<1||p>L.n){

printf("该逻辑位置没有储存数据!");

goto reset4;

}

L.n--;

for(temp=p;temp<=L.n;temp++){

L.data[temp-1]=L.data[temp];

}

printf("删除数据后变为:");

for(temp=0;temp

printf("%d\t",L.data[temp]);

}

}

main(){

Stu();//顺序表初始化1-20

inList();//输出顺序表当前储存的数据

search1();//在顺序表中查找某一个逻辑位置的数据并输出

search2();//在顺序表中查找数据输入它的逻辑位置

insert();//在顺序表中插入数据,并输出

deletel();//删除顺序表中的某个位置的数据,并输出其他的元素

return 0;

}

c语言创建空顺序表的程序,用C语言编写一个完整的程序,实现顺序表的建立、插入、删除、输出等基本运算。...相关推荐

  1. python国际象棋ai程序_用Python编写一个国际象棋AI程序

    最近我用Python做了一个国际象棋程序并把代码发布在Github上了.这个代码不到1000行,大概20%用来实现AI.在这篇文章中我会介绍这个AI如何工作,每一个部分做什么,它为什么能那样工作起来. ...

  2. python国际象棋ai程序_用 Python 编写一个国际象棋 AI 程序

    最近我用Python做了一个国际象棋程序并把代码发布在Github上了.这个代码不到1000行,大概20%用来实现AI.在这篇文章中我会介绍这个AI如何工作,每一个部分做什么,它为什么能那样工作起来. ...

  3. java语言打印1到10的偶数_#Java编程# 编写一个应用程序创建两个线程,一个线程打印输出1~100之间所有的奇数,另外一 求写一个用JAVA求1~...

    import java.util.Random; class A extends Thread { \tint i=1; \tRandom r=new Random(); \tpublic void ...

  4. c语言中fact函数怎么调用,C语言程序题: 1、编写一个求n!的函数fact(n),要求fact函数分别用递归和非递归两种方法实现...

    点击查看C语言程序题: 1.编写一个求n!的函数fact(n),要求fact函数分别用递归和非递归两种方法实现具体信息 答:int fac(int n) //非递归{int f=1; for(;n;) ...

  5. java十个整数相反顺序_编写程序,对输入的一个整数,按相反顺序输出该数。例如,输入为 3578, 输出为 8753。...

    编写程序,对输入的一个整数,按相反顺序输出该数.例如,输入为 3578, 输出为 8753. package HomeWork08; import java.util.Scanner; public ...

  6. 几乎所有的RPG游戏(一种源自《龙与地下城》的游戏类型)在进入游戏时都会让用户自己来创建自己喜欢的角色。本次上机要求编写一个简化的创建游戏角色的程序。

    一:题目分析 1.功能描述 几乎所有的RPG游戏(一种源自<龙与地下城>的游戏类型)在进入游戏时都会让用户自己来创建自己喜欢的角色.本次上机要求编写一个简化的创建游戏角色的程序. 2.游戏 ...

  7. 编写一个SQL查询来报告 Person 表中每个人的姓、名、城市和州。如果 personId 的地址不在 Address 表中,则报告为空 null 【杭州多测师】【杭州多测师_王sir】...

    编写一个SQL查询来报告 Person 表中每个人的姓.名.城市和州.如果 personId 的地址不在 Address 表中,则报告为空  null . 以 任意顺序 返回结果表. 示例 : Per ...

  8. 1. 在顺序存储结构的职工工资表中,职工工资信息包括:职工号(no)、姓名(name )、职称(pro)、工资(sal)等四项信息,请编写一完整的程序。

    在顺序存储结构的职工工资表中,职工工资信息包括:职工号(no).姓名(name ).职称(pro).工资(sal)等四项信息,请编写一完整的程序,实现以下功能: (1)创建信息表:从键盘读入所有职工的 ...

  9. java写便签_如何编写一个便签程序(用Java语言编写)

    如何编写一个便签程序(用Java语言编写) 热度:336   发布时间:2011-02-18 11:44:16 如何编写一个便签程序(用Java语言编写) 因为以前没有好好学习Java,都搞忘了,请大 ...

最新文章

  1. linux 相册管理,图片管理(时间线、相册管理)- 深度看图 -Deepin深度系统用户手册...
  2. Timus 1018 树形DP
  3. MapReduce运行机制
  4. python 最短路径算法_python Dijkstra算法实现最短路径问题的方法
  5. EfficientNetV2:训练速度快了5~10x,更小,更快,精度更高的EfficientNet
  6. Type class-Typeclass-泛型基础上的二次抽象
  7. 今天又遇到了一个问题
  8. 4.DTD - 元素 - 属性
  9. 计算机服务怎么打开flash,快速讲解Win10自带的浏览器如何开启Adobe Flash?
  10. 手动卸载McAfee
  11. js获取浏览器默认语言设置
  12. oa处理会签流程图_关于合同会签OA流程使用说明
  13. 如何在企业微信中使用微搭低代码
  14. countifs多条件排序_使用Excel COUNTIFS进行多个条件计数
  15. keras的model保存和载入
  16. 如何让同步/刷新的图标(el-icon-refresh)旋转起来
  17. 163邮箱申请注册条件,邮件注册申请,邮箱的格式怎么写?
  18. CSS实现内容强制不换行、自动换行、强制换行
  19. amt是什么意思_汽车中的AT、MT和AMT是什么意思?有什么区别?
  20. 【我的OpenGL学习进阶之旅】什么是TGA文件以及如何打开TGA文件?

热门文章

  1. python必备入门代码-学习Python必备的八大知识板块,学好这些你就算入门啦~
  2. 学python有什么用-为什么要学Python?学了有什么用?
  3. python不会英语不会数学怎么自学-零基础想自学PYTHON如果补数学怎么补?
  4. 学python可以做什么职业-学完Python,能找到什么工作?工资多少?
  5. python可以自学编程吗-编程学习第一步,让你20天搞定Python编程
  6. Vue SEO解决方案
  7. android ble 蓝牙绑定流程,BLE 配对与绑定过程详细解析
  8. Ajax实现搜索提示框~超级详细
  9. css-font字体和文本样式
  10. 主流H.264编码器对比测试 (MSU出品)