选择排序法与冒泡排序法——C语言
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
for(i=0;i<9;i++) for(j=i+1;j<=9;j++) if(d[i]<d[j]) { t=d[i]; d[i]=d[j]; d[j]=t; }
printf("学生成绩由大到小: \n%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",d[0],d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8],d[9]);
q=1; for(j=0百度文库j<=9-i;j++)
if(d[j]<d[j+1]) {
q=0; t=d[j]; d[j]=d[j+1]; d[j+1]=t; } } printf("学生成绩由大到小:\n%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",d[0],d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8],d[9]); printf("\n输入1继续此程序,输入0结束此程序"); scanf("%d",&z); } } q为判断变量,当某趟所有相邻的不需要交换是,则可以提前结束,改进后效率更高。
printf("\n输入1继续此程序,输入0结束此程序"); scanf("%d",&z); } }
2、冒泡排序法 #include<stdio.h> void main(void)/*冒泡排序法*/ /*从键盘上输入10个学生的成绩,用冒泡排序法输出成绩*/ {
int d[9]; int z,t,i,j; z=1; while(z) {
选择排序法与冒泡排序法
——C语言
1、选择排序法 2、冒泡排序法 3、改进的冒泡排序法
例、从键盘上输入10个学生的成绩,从大到小输出成绩。 1、选择排序法 #include<stdio.h> void main(void)/*选择排序法*/ /*从键盘上输入10个学生的成绩,用选择排序法输出成绩*/ {
int d[9]; int z,t,i,j; z=1; while(z) {
printf("输入10个学生的成绩以逗号隔开:\n");
scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&d[0],&d[1],&d[2],&d[3],&d[4],&d[5],&d[6],&d[7],&d[8],&d[ 9]);
printf("输入10个学生的成绩以逗号隔开:\n");
scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&d[0],&d[1],&d[2],&d[3],&d[4],&d[5],&d[6],&d[7],&d[ 8],&d[9]);
for(i=1;i<10;i++) for(j=0;j<=9-i;j++) if(d[j]<d[j+1]) { t=d[j]; d[j]=d[j+1]; d[j+1]=t; }
printf("学生成绩由大到小: \n%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",d[0],d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8],d[9]);
printf("\n输入1继续此程序,输入0结束此程序"); scanf("%d",&z); } }
3、改进的冒泡排序法 #include<stdio.h> void main(void)/*冒泡排序法改进*/ /*从键盘上输入10个学生的成绩,用冒泡排序法改进法输出成绩*/ {
int d[9]; int z,t,i,j,q;/*q为判断变量*/ z=1; while(z) {
printf("输入10个学生的成绩以逗号隔开:\n"); scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&d[0],&d[1],&d[2],&d[3],&d[4],&d[5],&d[6],&d[7],&d[8],&d[9]); q=0; for(i=1;i<10&&q==0;i++) {
printf("学生成绩由大到小: \n%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",d[0],d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8],d[9]);
q=1; for(j=0百度文库j<=9-i;j++)
if(d[j]<d[j+1]) {
q=0; t=d[j]; d[j]=d[j+1]; d[j+1]=t; } } printf("学生成绩由大到小:\n%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",d[0],d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8],d[9]); printf("\n输入1继续此程序,输入0结束此程序"); scanf("%d",&z); } } q为判断变量,当某趟所有相邻的不需要交换是,则可以提前结束,改进后效率更高。
printf("\n输入1继续此程序,输入0结束此程序"); scanf("%d",&z); } }
2、冒泡排序法 #include<stdio.h> void main(void)/*冒泡排序法*/ /*从键盘上输入10个学生的成绩,用冒泡排序法输出成绩*/ {
int d[9]; int z,t,i,j; z=1; while(z) {
选择排序法与冒泡排序法
——C语言
1、选择排序法 2、冒泡排序法 3、改进的冒泡排序法
例、从键盘上输入10个学生的成绩,从大到小输出成绩。 1、选择排序法 #include<stdio.h> void main(void)/*选择排序法*/ /*从键盘上输入10个学生的成绩,用选择排序法输出成绩*/ {
int d[9]; int z,t,i,j; z=1; while(z) {
printf("输入10个学生的成绩以逗号隔开:\n");
scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&d[0],&d[1],&d[2],&d[3],&d[4],&d[5],&d[6],&d[7],&d[8],&d[ 9]);
printf("输入10个学生的成绩以逗号隔开:\n");
scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&d[0],&d[1],&d[2],&d[3],&d[4],&d[5],&d[6],&d[7],&d[ 8],&d[9]);
for(i=1;i<10;i++) for(j=0;j<=9-i;j++) if(d[j]<d[j+1]) { t=d[j]; d[j]=d[j+1]; d[j+1]=t; }
printf("学生成绩由大到小: \n%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",d[0],d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8],d[9]);
printf("\n输入1继续此程序,输入0结束此程序"); scanf("%d",&z); } }
3、改进的冒泡排序法 #include<stdio.h> void main(void)/*冒泡排序法改进*/ /*从键盘上输入10个学生的成绩,用冒泡排序法改进法输出成绩*/ {
int d[9]; int z,t,i,j,q;/*q为判断变量*/ z=1; while(z) {
printf("输入10个学生的成绩以逗号隔开:\n"); scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&d[0],&d[1],&d[2],&d[3],&d[4],&d[5],&d[6],&d[7],&d[8],&d[9]); q=0; for(i=1;i<10&&q==0;i++) {