排序之冒泡排序、选择排序、插入排序
2013-06-07 17:57
155 查看
代码:
冒泡排序和选择排序的区别是,冒泡排序每次比较的是数组中连续的两个数,而选择排序是将待排序位置的数与其他未排好序的数比较。
选择排序函数代码:
插入排序代码:
#include <stdio.h> void BubbleSort(int A[],int n); void PrintArray(int A[],int n); #define NUM 10 void main() { int a[NUM]; for (int i=0;i<NUM;i++) { a[i]=i+1; } BubbleSort(a,NUM); PrintArray(a,NUM); getchar(); } void BubbleSort(int A[],int n) { int i,j; for (i=0;i<n-1;i++) //对n-1个数排好序,所有数即排好序 { for (j=0;j<n-i-1;j++) { if (A[j]<A[j+1]) //排成降序 { int temp = A[j]; A[j] = A[j+1]; A[j+1] = temp; } } } } void PrintArray(int A[],int n) { for (int i=0;i<n;i++) { printf("%d\t",A[i]); } printf("\n"); }
冒泡排序和选择排序的区别是,冒泡排序每次比较的是数组中连续的两个数,而选择排序是将待排序位置的数与其他未排好序的数比较。
选择排序函数代码:
void SelectSort(int A[],int n) { int i,j; for (i=0;i<n-1;i++) //对n-1个数排好序,所有数即排好序 { for (j=i;j<n;j++) { if (A[i]<A[j]) //排成降序 { int temp = A[i]; A[i] = A[j]; A[j] = temp; } } } }
插入排序代码:
//降序排序 void InsertSort(int A[],int n) { int i,j; for (i=1;i<n;i++) //对n-1个数排好序,所有数即排好序 { int temp = A[i]; for (j=i-1;j>=0;j--) //前面A[0]到A[i-1]已经排好序 { if (temp>A[j]) //要排序的数比A[j]大 { A[j+1] = A[j]; } else { A[j] = temp; break; } } if(j==-1) { A[0] = temp; } } }
相关文章推荐
- java插入排序,冒泡排序,选择排序的思路及实现
- 算法 --- 插入排序、冒泡排序、选择排序
- 牛客网Java刷题知识点之插入排序(直接插入排序和希尔排序)、选择排序(直接选择排序和堆排序)、冒泡排序、快速排序、归并排序和基数排序(博主推荐)
- C# 常用排序方法 冒泡排序,直接选择排序,直接插入排序
- 三种基本排序-冒泡排序、直接插入排序、选择排序
- 排序算法之直接插入排序、选择排序和冒泡排序
- 冒泡排序,选择排序,直接插入排序,二分查找排序
- 常用的排序算法:插入排序,希尔排序,冒泡排序,选择排序,快速排序,归并排序
- 经典算法:二分查找、插入排序、选择排序、冒泡排序
- 冒泡排序, 简单选择排序, 插入排序, 希尔排序, 快速排序 js 实现
- Java选择排序、冒泡排序、直接插入排序与二分查找
- 冒泡排序-直接选择排序-直接插入排序-希尔排序-java实现
- java版排序算法简介及冒泡排序以及优化,选择排序,直接插入排序,希尔排序,堆排序,快速排序及其优化前言 2 分类 2 稳定性 3 时间复杂度 4 Java实现版本 5 1、冒泡排序 6 2、选择排序
- 菜鸟学编程之三:三种最基本排序算法的实现(冒泡排序、选择排序、直接插入排序)
- IOS- 快速排序,冒泡排序,直接插入排序和折半插入排序,希尔排序,堆排序,直接选择排序
- 冒泡排序、直接插入排序及选择排序之Java实现
- 几种常用的排序算法:插入排序、冒泡排序、选择排序的算法及C++实现
- 基本排序(包括插入,选择,冒泡排序)
- 插入排序,冒泡排序,选择排序
- Java实现八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序等