插入排序---如此简单
2016-03-14 19:58
225 查看
今天给大家简单的说一下插入排序,斗过地主的都深有体会,插入排序跟起牌排好顺序是一样一样的。
以下为代码:(此代码在VS2008中编译通过,并运行得到排序结果)
#include "stdafx.h"
#include "stdio.h"
void InsertionSort(int A[],const int num);
int _tmain(int argc, _TCHAR* argv[])
{
int a[] = {3,7,12,6,10,20,3,2,2};
int num = sizeof(a)/sizeof(int);
InsertionSort(a,num);
for(int i=0;i<num;i++)
printf("%d\t",a[i]);
getchar();
return 0;
}
void InsertionSort(int A[],const int num){
//输入待排序的数组
int temp = 0;
for(int i = 1;i<num;i++)
{
temp = A[i];//待排的元素
for(int j = i-1;j>=0;j--){
if(temp >= A[j]){
A[j+1] = temp;
break;
}
else{
A[j+1] = A[j];
}
if(j == 0)
A[0] = temp;
}
}
}
以下为代码:(此代码在VS2008中编译通过,并运行得到排序结果)
#include "stdafx.h"
#include "stdio.h"
void InsertionSort(int A[],const int num);
int _tmain(int argc, _TCHAR* argv[])
{
int a[] = {3,7,12,6,10,20,3,2,2};
int num = sizeof(a)/sizeof(int);
InsertionSort(a,num);
for(int i=0;i<num;i++)
printf("%d\t",a[i]);
getchar();
return 0;
}
void InsertionSort(int A[],const int num){
//输入待排序的数组
int temp = 0;
for(int i = 1;i<num;i++)
{
temp = A[i];//待排的元素
for(int j = i-1;j>=0;j--){
if(temp >= A[j]){
A[j+1] = temp;
break;
}
else{
A[j+1] = A[j];
}
if(j == 0)
A[0] = temp;
}
}
}
相关文章推荐
- 77. 最长严格上升子序列(动态规划)
- 查看linux版本号的几种方法
- 生活学习感悟
- 谈谈评价指标中的宏平均和微平均
- 77. 最长严格上升子序列(动态规划)
- 进程与线程
- Android 中部分文字高亮显示方法
- 两个字符串的最大公共子序列和最大公共子串
- Toolbar使用说明
- Redis 主从配置和参数详解
- python函数传参是传值还是传引用?
- Python学习笔记——语法基础
- 利用 rsync 在服务器间同步目录
- 从一个问题来认识android:configChanges属性
- 优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案
- [Java实现]通过一个Java小程序(吃苹果)深入理解面向对象思想
- Android 中 handle Message 的简单使用笔记
- [国嵌攻略][143][LCD驱动程序分析]
- Windows和Linux的进程地址空间分布
- C++第一次实验上机-3