范文无忧网计划总结工作总结

C语言中有多少种常用的排序法

02月16日 编辑 fanwen51.com

[C语言switch的运用]#include<stdio.h> void main() { int i; for(i=0;i<7;i++) { switch(i+1) { case 1: case 7:printf(" *\n");break; case 2: case 6:printf(" ***\n");break; case 3: case 5:p...+阅读

; using namespace std; int main() { int a[10]; cout<<;"输入10个数字:"<>a[i]; } for(int m=0;m<10;m++) for(int n=0;n<10;n++) { if(a[n]>a[n+1]) { int s; s=a[n]; a[n]=a[n+1]; a[n+1]=s; } } for(int j=0;j<10;j++) cout<

要求对其元素排序使之递增有序。 首先以一个元素为基准,从一个方向开始扫描,比如从左至右扫描,以A[0]为基准。 接下来从A[0],…,A[9]中找出最小的元素,将其与A[0]交换。 然后将基准位置右移一位,重复上面的动作,比如,以A[1]为基准,找出A[1]~A[9]中最小的,将其与A[1]交换。 一直进行到基准位置移到数组最后一个元素时排序结束(此时基准左边所有元素均递增有序,而基准为最后一个元素,故完成排序)。

冒泡和快速排序的区别在于:冒泡算法,每次比较如果发现较小的元素在后面,就交换两个相邻的元素。将待排序的元素看作是竖着排列的"气泡",较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个"气泡"序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。

如果发现两个相邻元素的顺序不对,即"轻"的元素在下面,就交换它们的位置。显然,处理一遍之后,"最轻"的元素就浮到了最高位置;处理二遍之后,"次轻"的元素就浮到了次高位置。在作第二遍处理时,由于最高位置上的元素已是"最轻"元素,所以不必检查。一般地,第i遍处理时,不必检查第i高位置以上的元素,因为经过前面i-1遍的处理,它们已正确地排好序。

而选择排序算法的改进在于:先并不急于调换位置,先从A[1]开始逐个检查,看哪个数最小就记下该数所在的位置P,等一躺扫描完毕,再把A[P]和A[1]对调,这时A[1]到A[10]中最小的数据就换到了最前面的位置。 所以,选择排序每扫描一遍数组,只需要一次真正的交换,而冒泡可能需要很多次。比较的次数是一样的。 其实看你声明的变量的个数就知道了。

选择的要比冒泡的多声明一个,用来存储最小(或最大的)元素的下标。而冒泡的比较后直接换。

延伸阅读:

c语言swich用法#include "stdio" main() { int a ; scanf("%d",&a); if(a>=0&a<=100) { switch(a/10) { case 10 case 9:printf("你的等级为:A"); break; case 8:printf("你的等级为:B");break; case 7:p...

关于c语言的switch用法分析思路如下: a=1 case 1 成立 【可是你没有打印语句啊!所以没有输出!】 如果这个case 有break的话,那面后面所有的case都不用看了。 case 2 成立 【但是你还是没有打印语句,所...

C语言的swith的用法是的。 case 几 冒号,表示当开关值x 等于 几 的 入口。x=1, 从 case 1 进入。x=2, 从 case 2 进入.... 从 case 1 进入后,按语句顺序执行: (1)执行 a--; (2)执行 break; 因为遇到 br...

C语言排序有哪些方法详细点我博客里收藏的,粘给你 排序有哪几种好方法( 1 )2009-12-03 19:26 排序小结 排序算法是一种基本并且常用的算法。由于实际工作中处理的数量巨大,所以排序算法 对算法本身的速度...

几种经典排序算法优劣比较的C程序实现一、低级排序算法1.选择排序 (1)排序过程 给定一个数值集合,循环遍历集合,每次遍历从集合中选择出最小或最大的放入集合的开头或结尾的位置,下次循环从剩余的元素集合中遍历找出...

C语言中的排序方法探索根据自己的学习体会总结各种排序方法的可能会有些小错误,你自己可以根据需要进行改动,比如你可以直接定义一组数,就不需要随机产生数了,我想你应该改得了,呵呵,代码如下:#include#include#include#include#includeusingn...

c语言问题求解问题 1 有的运算符不能对浮点型数进行运算。( √ )答案对错5 分 问题 2 增1减1运算符的前缀运算和后缀运算的表达式值是相同的(*)答案对错5 分 问题 3 逻辑表达式的值为1或0。(...

辽河的鱼种多少辽河内的鱼种类有多少种?鸟类多少种省辽河保护区管理局生态治理处处长沙德纯介绍说:“那时辽河内水族繁多、水产丰富。据历史记载,主要鱼类有40多种,鳙鱼、鲢鱼、草鱼、青鱼是主要鱼种,被称为"四大家鱼",此外,黄颡鱼、...

如何在现代C中实现经典排序算法冒泡法大家都较熟悉。其原理为从a[0]开始,依次将其和后面的元素比较,若a[0]>a[i],则交换它们,一直比较到a[n]。同理对a[1],a[2],...a[n-1]处理,即完成排序。下面列出其代码:void b...

推荐阅读
图文推荐
栏目列表