基于for循环的几个常用排序方法
来源:互联网 发布:bp神经网络算法推导 编辑:程序博客网 时间:2024/05/21 17:47
/*
选择排序。
*/
#include <stdio.h>
int main()
{
int arr[]={34,12,55,53,23,3,43}; // 当然自己也可以手动输入
int len = sizeof(arr)/sizeof(int); //求数组长度
int x,y,z;
for(x=0; x<len-1; x++)
{
for(y=x+1; y<len; y++)
{
if(arr[x]>arr[y])
{
int temp = arr[x]; //交换两个元素顺序
arr[x] = arr[y];
arr[y] = temp;
}
}
}
for(z=0;z<len;z++)
{
printf("arr[%d] = %d\n",z,arr[z]);
}
while(1);
return 0;
}
/*
冒泡排序: 通过两两直接比较,把最大的那个数值放在最高位,依次进行
*/
#include <stdio.h>
int main()
{
int arr[]={34,12,55,53,23,3,43}; // 当然自己也可以手动输入
int len = sizeof(arr)/sizeof(int); //求数组长度
int x,y,z,temp = 0;
for(x=0;x<len-1; x++) //for外循环 控制数组角标元素
{
for(y=0;y<len-1-x; y++) /*
for内循环 控制每次循环 两两元素比较的次数
len-1-x表达式解析:
-1:为了避免角标越界
-x:为了让外循环增加一次,内循环参与比较的元素个数递减
*/
{
if(arr[y]>arr[y+1])
{
temp = arr[y]; //比较之后前后交换元素
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}
for(z=0;z<len;z++) //遍历输出排序后的数组
{
printf("arr[%d] = %d\n",z,arr[z]);
}
while(1);
return 0;
}
- 基于for循环的几个常用排序方法
- Shell中for循环的几个常用写法
- Shell中for循环的几个常用写法
- IOS 几个常用的循环
- 基于范围的for循环
- 基于范围的for循环
- 几个常用的方法
- 双重for循环的几个例子
- 几个常用的排序算法
- 几个常用的排序算法
- JavaScript中几种常用的解决for循环中引用同一循环变量对象的方法
- JS实现循环给元素绑定事件的几个常用方法
- 几个java常用的方法
- inventDimParm 常用的几个方法
- JFrame常用的几个方法
- js几个常用的方法
- map的几个常用方法
- sqlite的几个常用方法
- 图解正向代理、反向代理、透明代理
- 使用AsyncTask实现异步文件下载
- Linux命令之dos2unix
- PHP大小写敏感规则(转自songkexin的博客)
- 程序猿才懂幽默 haha
- 基于for循环的几个常用排序方法
- insmod加载模块过程
- 关于android布局管理器
- 极客标签互动课程系列 - Javascript生成SVG动画素描特效
- Oracle存储过程及参数理解
- jQuery表单验证插件 - 使用方式非常简单,明了
- SOLR 4.6 多核 multicore配置
- 一个合格程序员应该读过的书
- 【iOS开发-47】如何下载iOS 7.1 Simulator 以及iOS 8离线的Documentation这些文件?