C 排序法
1、冒泡法,相邻的两个数值,进行比较,满足条件的进行互换
#include <stdio.h>
int main() {
int index, j, tmp;
int arr[] = {, , ,};
for(index=; index<; index++) {
for(j=; j>index; j--) {
if (arr[j] < arr[j-]) {
tmp = arr[j];
arr[j] = arr[j-];
arr[j-] = tmp; }
}
}
for(index=; index<; index++) {
printf("%d\t", arr[index]);
}
return ;
}
交换排序法
/** * 简单的交换排序
* 冒泡排序初级版
*这个不算是标准的冒泡排序算法,因为不满足“两两比较相邻记录”的冒泡排序思想,她更应该是最最简单的交换排序而已
* 思路:让每一个关键字和她后面的“每一个”关键字比较,如果大则交换
缺点:效率很低
*/
#include <stdio.h>
int main() {
int arr[6];
int tmp, i, j;
for(i=0; i<6; i++) {
scanf("%d", &arr[i]);
} for(i=0; i<6; i++) {
for(j=i; j<5; j++) {
if (arr[i]<arr[j+1]) {
tmp = arr[i];
arr[i] = arr[j+1];
arr[j+1] = tmp;
}
}
}
for(i=0; i<6; i++) {
printf("\n%ld\t", arr[i]);
}
return 0;
}
3、选择法
在要排序的一组数中,选出最小的一个数与第一个位置的数交换。然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。
#include <stdio.h>
int main() {
int arr[];
int tmp, i, j, min;
for(i=; i<; i++) {
scanf("%d", &arr[i]);
} for(i=; i<; i++) {
min = i;
for(j=i; j<; j++) {
if (arr[min]>arr[j+]) {
min = j+;
}
}
if (i != min ) {
tmp = arr[i];
arr[i] = arr[min];
arr[min] = tmp;
}
}
for(i=; i<; i++) {
printf("\n%ld\t", arr[i]);
} return ;
}
C 排序法的更多相关文章
- Python基础知识之排序法
在Python开发中,我们会经常使用到排序法,排序的最简单的方法是用sort(list)函数,它接受一个列表并返回与有序的元素一个新的列表. 原始列表不被改变. a = [5, 1, 4, 3] ...
- php六种基础算法:冒泡,选择,插入,快速,归并和希尔排序法
$arr(1,43,54,62,21,66,32,78,36,76,39); 1. 冒泡排序法 * 思路分析:法如其名,就是像冒泡一样,每次从数组当中 冒一个最大的数出来. * 比 ...
- Atitit.现实生活中最好使用的排序方法-----ati排序法总结
Atitit.现实生活中最好使用的排序方法-----ati排序法总结 1. 现在的问题 1 2. 排序的类别::插入排序//交换排序//选择排序(每次最小/大排在相应的位置 )//归并排序//基数排 ...
- JAVA基础学习之命令行方式、配置环境变量、进制的基本转换、排序法、JAVA文档生成等(1)
1.命令行方式 dos命令行,常见的命令: dir:列出当前目录下的文件以及文件夹 md:创建目录 rd:删除目录 cd:进入指定目录 cd..:退回到上一级目录 cd/:退回到根目录 del:删除文 ...
- C语言实现冒泡排序法和选择排序法代码参考
为了易用,我编写排序函数,这和直接在主调函数中用是差不多的. 我认为选择排序法更好理解!请注意 i 和 j ,在写代码时别弄错了,不然很难找到错误! 冒泡排序法 void sort(int * ar, ...
- C语言 数组输出,冒泡排序法,沉底排序法,二维数组输出,输出字母列长度,从随机数组中找重复数
#include <stdio.h> #define sum 3+4//宏定义是原封不动的使用used for test4 #include <time.h>//used fo ...
- CodeForces 489A SwapSort (选择排序法)
SwapSort 题目链接: http://acm.hust.edu.cn/vjudge/contest/121332#problem/A Description In this problem yo ...
- UVA 11462 Age Sort(计数排序法 优化输入输出)
Age Sort You are given the ages (in years) of all people of a country with at least 1 year of age. Y ...
- (C)高级排序法
1.快速排序法 //方法1 从大到小 #include <iostream.h> void run(int* pData,int left,int right) { int i,j; in ...
- c/c++ 算法之快速排序法 冒泡排序法,选择排序法,插入排序法
本文详细叙述和实现了快速排序算法,冒泡排序 选择排序 插入排序比较简单,原理在这里不再详述,直接用代码进行了实现. 快速排序法(quicksort)是目前所公认最快的排序方法之一(视解题的对象而定), ...
随机推荐
- 使用Reveal
添加Reveal.framework,设置Other link flags 添加Debug为 -ObjC,添加 libz 库 这里介绍 Reveal UI 分析工具的简单使用,至于使用他分析手机 Ap ...
- 关于xampp使用不同端口的虚拟机
1.打开apache/conf/httpd.conf文件加入listen 8080(监听的端口号) 然后加入 # Virtual hostsInclude "conf/extra/httpd ...
- JS中注意原型链的“指向”
昨天压缩Js文件时发现了项目中的一个prototype的问题代码如下所示: 1. <script> var XXX = function(){ }; var x1 = new XXX(); ...
- Magento的迁移方法
Magento有很多配置内容,比如说CMS配置页.Static Stock.多语言配置等等,所以做数据迁移很有必要性,下面就说说如何做迁移 这个技术文章是从网上整理的,不过一个很重要的点被疏忽了,我在 ...
- Linux 性能工具 - sar学习
简介 sar是一款在linux下的性能工具,可以观察到CPU,内存,IO,运行队列,每秒上下文切换等信息. 软件工具安装 #Ubuntu sudo apt-get install sysstat # ...
- 数据写入文本文件并读出到浏览器的PHP代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- linux matlab2013b 安装教程
链接:http://pan.baidu.com/s/1pJE6R2b 密码:shfy 1. 解压缩“Mathworks Matlab R2013b Linux.rar”(无需密码),得到“Mathwo ...
- JQ实现accordion(可折叠)效果
先看效果--这个就是手风琴的效果: 原理:首先默认section1下面的dd可见,其他的全部隐藏:当点击某个obj时候, 快速隐藏全部的dd,然后只有obj.NEXT().show ...
- 微信JS SDK使用权限签名算法
jsapi_ticket 生成签名之前必须先了解一下jsapi_ticket,jsapi_ticket是公众号用于调用微信JS接口的临时票据.正常情况下,jsapi_ticket的有效期为7200秒, ...
- SQLdiag-配置文件-ProfilerCollector
上一篇,我们讲述了配置文件中与性能计数器相关的PerfmonCollector元素:这一篇我们将讲述与跟踪数据相关的ProfilerCollector元素.在上一篇中使用SD_Detailed.XML ...