测品娱乐
您的当前位置:首页简单的数据删除插入排列查找程序

简单的数据删除插入排列查找程序

来源:测品娱乐
#include

#define elemtype unsigned int char y;

#define true 1 #define false 0 typedef struct list_type {

int num;

elemtype data[100];

}listp; listp list;

int insertl(listp *l,int i,elemtype x) {

int j;

if(l->num>=100) { }

if((i<-1)||(i>l->num)) { }

printf(\"该地方不能插入数字\\n\"); return (false);

printf(\"这列数已满,不能插入\"); return (false);

for(j=l->num-1;j>=i;j--) l->data[j+1]=l->data[j];

l->data[i]=x; l->num++;

printf(\"/*********************/\\n\"); printf(\"插入后的数\\n\"); printf(\"/**************/\\n\");

for(j=0;jnum;j++)printf(\"%d\\n\return (true);

}

int delete_1(listp *l,int i) {

int j;

if((i<0)||(i>l->num-1)) {

printf(\"该位置没有数可以删除\\n\");

return (false); }

for(j=i+1;jnum;j++)

}

l->data[j-1]=l->data[j];

l->num--;

printf(\"/*****************************/\\n\"); printf(\"删除后的数据\\n\");

printf(\"/*****************************/\\n\"); for(j=0;jnum;j++)printf(\"%d\\n\return (true);

int pailie(listp *l) {

int i,j,max;

for(i=0;inum-1;i++) for(j=i+1;jnum;j++)

{

if(l->data[i]>l->data[j]) { }

max=l->data[i];

l->data[i]=l->data[j]; l->data[j]=max;

}

printf(\"排列后的数据\\n\");

for(j=0;jnum;j++)printf(\"%d\\n\return (true);

}

int chaz(listp *l,unsigned int i) {

int x,y;

for(x=0;xnum;x++) { }

if(i==l->data[x]) { }

printf(\"查找成功\");

y=x+1;

printf(\"该数在数据中的位置为\\n\"); printf(\"%d\\n\return (true);

}

void main() {

//

int x;int x1,i1,i,x2;

int num=0; list.num=0;

printf(\"/*********************************/\\n\");

printf(\"请输入正整数据,数据个数不能超过100个\\n;-1为结束位\\n\"); printf(\"注意请勿输入英文字符或特殊字符\\n\"); printf(\"/*********************************/\\n\"); while(1) {

P: scanf(\"%d\ if(x!=-1&&num<101)

{

if(x<0) { }

else list.data[list.num]=x;list.num++;

printf(\"数据中存在不合理的数字\\n\"); printf(\"请审核后重新输入,谢谢合作!\\n\"); printf(\"请重新输入\\n\"); goto P;

} else break; }

//for(i=list.num;i<99;i++){if(list.data[list.num]==list.data[99])while(1);} printf(\"/*****************************/\\n\"); printf(\"请再次确认输入的数据\\n\");

printf(\"/******************************/\\n\"); for(i=0;iprintf(\"%d\\n\

for()

printf(\"/*********************/\\n\"); printf(\"/*请选择功能*/“1”表示排列,“2”表示插入,“3”表示删除,“4”为查找\\n\"); printf(\"/**********************/\\n\"); {scanf(\"%d\switch(y) { case 2:

printf(\"/**********************/\\n\");

printf(\"请输输入插入的位置,和插入的数\\n\"); printf(\"输入的两个数用“,”隔开\\n\");

Q: if(num>0)

printf(\"例如输入ab两数,时输入格式为“a,b”\\n\"); printf(\"能插入的范围为\\n\");

printf(\"%d----------------%d\\n\B:scanf(\"%d,%d\while(1) {

if(insertl(&list,i1-1,x1)==0) { }

printf(\"请重新选择插入的位置\\n\"); scanf(\"%d\goto B;

else { printf(\"插入成功\\n\");

break;

} }

break;

printf(\"/**********************/\\n\"); printf(\"请输入删除的位置\\n\"); printf(\"能删除的范围为\\n\");

case 3:

printf(\"%d-------------%d\\n\O: scanf(\"%d\

while(1) { }

if(delete_1(&list,i1-1)==1) { printf(\"删除成功\\n\");break; } else { }

printf(\"请重新选择删除的数字位置\\n\"); goto O;

break; case 1:

printf(\"/**************************/\\n\"); if(pailie(&list)==1)printf(\"排列成功\\n\");

break; case 4: printf(\"/**************************/\\n\");

}

printf(\"请输入查找的数字\\n\");

scanf(\"%d\

if(chaz(&list,i1)==1){printf(\"查找成功\\n\");} else printf(\"查找失败,数据中不存在该数\\n\"); break;

default: printf(\"没有该选项\\n\"); printf(\"请重新输入,谢谢合作!\\n\"); }

goto Q;

因篇幅问题不能全部显示,请点此查看更多更全内容