数据结构与算法·实验一

来源:互联网 发布:千人基因组数据库 编辑:程序博客网 时间:2024/06/14 05:10

1、建立一个顺序表,要求从键盘输入10个整数,并将该顺序表的元素从屏幕显示出来。

2、用函数实现在顺序表中查找其中一个元素,如果找到,返回该元素在顺序表中的位置和该元素的值,否则提示无此元素。

3、用函数实现顺序表的插入和删除操作。由用户输入待插入元素及插入位置,将完成插入后的顺序表输出;由用户输入删除第几个元素,将完成删除后的顺序表输出。


#include<stdio.h>main(){int a(int q[]);int b(int q[]);int c(int q[]);int q[11],i,k,t,j;printf("请输入10个整数:");for(i=0;i<10;i++)scanf("%d",&q[i]);for(i=0;i<9;i++){k=i;for(j=i+1;j<10;j++)if(q[k]>q[j])k=j;if(k!=i){t=q[i];q[i]=q[k];q[k]=t;}}for(i=0;i<10;i++)printf("  %d",q[i]);a(q);b(q);c(q);}int a(int q[]){int i,p,flag=0;printf("\n输入查找其中一个元素:");scanf("%d",&p);for(i=0;i<10;i++){if(p==q[i]){flag=1;break;}}if(flag)printf("该元素%d在顺序表中的位置为第%d个",p,i+1);elseprintf("无此元素");}int b(int q[]){int l,i;printf("\n插入一个元素:");scanf("%d",&l);for(i=9;i>=0;i--)if(l<q[i]){q[i+1]=q[i];q[i]=l;}for(i=0;i<=10;i++)printf("  %d",q[i]);}int c(int q[]){int s,i;printf("\n删除第几个元素:");scanf("%d",&s);for(i=s-1;i<11;i++){q[i]=q[i+1];}for(i=0;i<10;i++)printf("  %d",q[i]);printf("\n");}