一维数组的应用--排序
来源:互联网 发布:篮球比赛计分软件 编辑:程序博客网 时间:2024/05/16 15:58
1. 简单比较排序
使用for循环描述i,j的变化规律,并推广到n个元素。
i 外循环变量控制比较次数,i=0,i<n-1
j 内循环变量控制一次内的比较、交换,j=i+1,j<n
例1:简单比较循环
#include<stdio.h>
main(){
int a[10];
int i,j;
int temp=0;
printf("please input ten number random:/n");
for(i=0;i<10;i++)//输入10个数
scanf("%d",&a[i]);
printf("the number you have input is:/n");
for(i=0;i<10;i++)//输出输入的10个数
printf("%d/t",a[i]);
for(i=0;i<9;i++)//简单比较排序
for(j=i+1;j<10;j++){
if(a[i]>a[j]){//换序
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
printf("the changed secquence is:/n");
for(i=0;i<10;i++)//输出输入的10个数
printf("%d/t",a[i]);
}
使用for循环描述i,j的变化规律,并推广到n个元素。
i 外循环变量控制比较次数,i=0,i<n-1
j 内循环变量控制两两比较元素的下标,j=0,j<n-i-1
例2:冒泡排序
使用for循环描述i,j的变化规律,并推广到n个元素。
i 外循环变量控制比较次数,i=0,i<n-1
j 内循环变量控制找元素值最小的下标,j=i+1,j<n
例3:选择排序
#include<stdio.h>
main(){
int a[10];
int i,j,min;
int temp=0;
printf("please input ten number random:/n");
for(i=0;i<10;i++)//输入10个数
scanf("%d",&a[i]);
printf("the number you have input is:/n");
for(i=0;i<10;i++)//输出输入的10个数
printf("%d/t",a[i]);
for(i=0;i<10;i++)//冒泡排序
{
min=i;
for(j=i;j<10;j++){
if(a[j]<a[min])//换序
min=j;
}
if(min!=i){
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
}
printf("the changed secquence is:/n");
for(i=0;i<10;i++)//输出输入的10个数
printf("%d/t",a[i]);
}
- 一维数组的应用--排序
- 一维数组排序
- 一维数组排序
- 一维数组的排序操作
- 一维数组的选择排序
- 一维数组的简单排序
- 一维数组的长度和排序
- 一维数组的冒泡排序
- 一维数组的冒泡排序
- 一维数组的简单应用
- java 数组的应用(一维)
- 一维数组的开辟 赋值 应用
- 一维数组、数组排序、字符数组
- C4 一维数组以及对数组的排序
- 数组的应用(一)
- 数组的简单应用 一
- 一维数组排序事例
- 一维数组选择排序
- webservice---axis2--part----1
- 不要制造不必要的混乱把优化器给弄糊涂了
- asm goto与JUMP_LABEL
- 2011年
- JSF2自定义组件编程系列 第七部分
- 一维数组的应用--排序
- 年终总结
- 程序员眼中的《盗梦空间》
- Flex中,如何把页面上的组件对象当作map一样使用
- 学习java的30个目标
- 有关 linux 下svn服务器的配置
- ORACLE 查询表空间占用率超时
- 项目与位置
- 面试题目