常见排序方法(c语言)---冒泡法,选择法
2012-12-31 12:18
267 查看
冒泡排序(Bubble
Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾(目前已被排序的序列)。以此类推,直到所有元素均排序完毕.
Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
/* 用选择法对10个数进行排序 */ #include<stdio.h> void main() { int i,j,a[10]; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10-1;i++) {//n个数要进行n-1趟比较 for(j=i+1;j<10;j++) //每趟比较n-i次 if(a[j-1]>a[j]) //依次比较两个相邻的数,将小数放在前面,大数放在后面 { int t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } for(i=0;i<10;i++) //输出比较之后的数组 printf(" %d",a[i]); }
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾(目前已被排序的序列)。以此类推,直到所有元素均排序完毕.
#include<stdio.h> void main() { int i,j,min,a[10]; printf("Please input 10 integers:\n"); for(i=0;i<10;i++) scanf("%d,&a[i]; for(i=0;i<10;i++) printf("original:%d\n", a[i]; for(i=0;i<10-1;i++) { min=i; for(j=i+1;j<10;j++) { if (a[min]>a[j] min=j; } if(i!=min) { int tmp=a[i]; a[i]=a[min]; [min]=tmp; } } for(i=0;i<10;i++) printf("bubbled:%d\n", a[i]; }
相关文章推荐
- 数组的反转和常见排序方法(快排、冒泡、选择)
- C语言实现 排序源程序(包括直接插入、希尔、冒泡、快速、简单选择、堆排序)
- 数组常见常用的几种排序→→→冒泡→→选择→→插入
- C语言实现单向链表及其各种排序(含快排,选择,插入,冒泡)
- 用C语言实现常见的几个排序方法
- 数据结构-数组排序(冒泡 选择 插入 归并(合并有序数组))-C语言
- 第九、Java数组的常见操作(冒泡、选择排序、数组翻转)
- 常见排序算法(冒泡,选择,快速)的C语言实现
- 各种常见的排序 java版本(冒泡,选择,插入,希尔,快速)
- 一个比冒泡,选择效率快的排序方法(折半排序)
- 常见算法:C语言中的排序算法--冒泡排序,选择排序,希尔排序
- 三种排序方法(冒泡、选择、插入)
- 用冒泡,选择,快速排序的方法排序
- 常见的排序算法(Java实现):冒泡、插入、选择、快速排序
- java实现常见排序(选择,冒泡,插入,快速,希尔,堆)
- c++实现数据结构中的各种排序方法:直接插入、选择,归并、冒泡、快速、堆排序、shell排序
- JAVA 数组的排序方法冒泡、选择、快速、数组递增
- 常见算法:C语言中的排序算法--冒泡排序,选择排序,希尔排序
- 常见排序算法(冒泡,选择,快速)的C语言实现
- 各种排序方法(冒泡,快速,插入,选择),二分查找