C#-冒泡排序和选择排序
2015-12-25 15:53
513 查看
将一个数组排序
//排序
#include <stdio.h>
int main()
{
int a[]={3,5,2,56,275,85,29,24};
int temp,i,j;
int length= sizeof(a) / sizeof(a[0]);//计算a[]的大小时,不要加‘[]’
//选择排序
for(i=0;i<length-1;i++){
for(j=i;j<length;j++){//选择排序,每一次用一个数和所有其他数做比较,并且依次将最小的数移到两端
if(a[i]<a[j]){
temp=a[j];
a[j]=a[i];
a[i]=temp;
} //从大往小
}
}
//遍历数组
for(i=0;i<length;i++){
printf("%d ",a[i]);
}
printf("\n");
//冒泡排序
//冒泡排序就是每次将相邻的两个数做比较,每一次可以将最值找出,和冒泡排序的区别就是这样
for(i=0;i<length-1;i++){
for(j=0;j<length-i-1;j++){
if(a[j+1] <a[j]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;//从小往大
}
}
}
for(i=0;i<length;i++){
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
//排序
#include <stdio.h>
int main()
{
int a[]={3,5,2,56,275,85,29,24};
int temp,i,j;
int length= sizeof(a) / sizeof(a[0]);//计算a[]的大小时,不要加‘[]’
//选择排序
for(i=0;i<length-1;i++){
for(j=i;j<length;j++){//选择排序,每一次用一个数和所有其他数做比较,并且依次将最小的数移到两端
if(a[i]<a[j]){
temp=a[j];
a[j]=a[i];
a[i]=temp;
} //从大往小
}
}
//遍历数组
for(i=0;i<length;i++){
printf("%d ",a[i]);
}
printf("\n");
//冒泡排序
//冒泡排序就是每次将相邻的两个数做比较,每一次可以将最值找出,和冒泡排序的区别就是这样
for(i=0;i<length-1;i++){
for(j=0;j<length-i-1;j++){
if(a[j+1] <a[j]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;//从小往大
}
}
}
for(i=0;i<length;i++){
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
相关文章推荐
- 跟我学做c#皮肤美化(一)(转)
- c#事件实例三
- 浅谈C# Socket编程及C#如何使用多线程
- c#事件实例二
- 零OCR基础6行代码实现C#验证码识别
- c#事件实例一
- C# TreeView的用法(递归加载节点内容)
- C# GC.Collect()
- c# 提取word文件中的图片问题
- Wix中注册c#开发的Activex控件
- C#配置升级
- 未能加载文件或程序集“ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73”或它的某一个依赖项
- C#写的COM组件注册问题兼论微软Regasm注册的BUG
- c#界面开发自定义快捷键
- 生命游戏代码(C#)
- C#接口中的属性用法
- [转]C# const和static readonly区别
- C#自定义用户控件的生成方法
- VS2010命令行编译C#和VC项目
- c#开发activex注册问题