插入排序实现
来源:互联网 发布:mac下载安装虚拟机 编辑:程序博客网 时间:2024/06/07 09:06
一,插入排序的思想
挨个把待排序的数排在已排好序的数组中,就是说,对于数组A[n],把A[j]插入A[1,...,j-1]序列中去,
其中A[j,...,j-1]是已经排好序的序列,A[j,...,n]是待排序的数组序列。时间复杂度为O(n²)。
二、实例图示
把数组序列6,1,9,3,5进行插入排序,以小到大进行排序。
三、算法函数实现
/*****************************************
** 函数: InsertSort
** 功能: 对数组进行插入排序,排序的结果
** 保存在原数组中
** 参数: nArSource -- 待排序的数组名
** nSourceLen -- 数组长度
** 返回值: 成功返回 0,否则返回 -1
*/
int InsertSort(int nArSource[], int nSourceLen)
{
int i = 0;
int j = 0;
int nKey = 0;
if(nSourceLen <= 0)
{
return -1;
}
for(i = 1; i < nSourceLen; i++)
{
nKey = nArSource[i];
j = i - 1;
/* 把nKey插入在nArSource[j]之前的合适位置 */
while(j >= 0 && nArSource[j] > nKey)
{
nArSource[j+1] = nArSource[j];
j--;
}
nArSource[j+1] = nKey;
}
return 0;
}
该函数用c写的,添加main函数,可直接编译测试。
- 插入排序--直接插入排序[Java实现]
- 插入排序--折半插入排序[Java实现]
- 插入排序----直接插入排序----java实现
- 单链表实现插入排序
- 插入排序 实现
- java实现插入排序
- 插入排序的实现
- 实现单链表插入排序
- java实现插入排序
- java实现插入排序
- 插入排序---java实现
- Java实现插入排序
- C++实现插入排序
- 插入排序的实现
- 插入排序代码实现
- 插入排序实现
- 插入排序实现
- 插入排序的实现
- 嵌入式Linux系统CGI程序设计技术
- Struts2 学习笔记07 接收参数的三种方法
- 管理和监视rman备份之:list,report和delete命令简介
- 转眼一年了
- 《C语言深度解剖》4.15编译器的bug一节详解
- 插入排序实现
- 怎样高效的使用一种语言?
- java 迭代器iterator的原理 浅谈
- 数据库中无记录遇到实时错误“3021”的解决方法
- poj 3422 Kaka's Matrix Travels(最小费用最大流)
- Tomcat集群配置详解
- hdu 1001 Sum Problem
- 完全理解数组与指针(1 )
- IOS制作动画效果