C++ 直接插入排序
来源:互联网 发布:在线浏览器代理软件 编辑:程序博客网 时间:2024/04/30 13:55
基本思想:每次取无序序列中的第一个元素,用来和有序序列中的元素比较,找到合适的插入位置。
一个数组中将第i个元素放到数组的0号位置,起到暂存的记录的作用,同时又由于直接插入排序是一种稳定的排序算法,0号位有可以起到一个标记的作用,当比较到0号位置时,一定可以找到插入的位置。
插入排序是,从无序序列中选取第一个元素,和有序序列的最后一个元素比较,然后依次往前,逐个比较,如果r[j]>r[0]则需要将r[j]搬到r[j+1]的位置上,依次进行。直到找到合适的插入位置。
#include <iostream>using namespace std;void insertSort(int r[], int n){ for(int i=2; i<=n; i++)//第i个需要插入的元素 { r[0] = r[i];//暂存到数组头部 int j = i-1; while(r[0] < r[j]) { r[j+1] = r[j]; j = j - 1;//指针前移一位 } //回退一格,放入需要插入的元素 r[j+1] = r[0]; }}int main(){ int r[] = {0,15,28,32,25,18,16}; int n = sizeof(r)/sizeof(r[0])-1; insertSort(r, n); for(int i=1; i<=n; i++) { cout<<r[i]<<" "; } return 0;}
- C直接插入排序
- 直接插入排序.c
- 直接插入排序 Java/C
- C++_直接插入排序
- c++ 直接插入排序
- 直接插入排序(C语言版)
- C++_直接插入排序
- C语言 直接插入排序
- 直接插入排序 C语言版
- 插入排序----直接插入排序(C、C++、Python、Shell)
- C语言实现直接插入排序
- 直接插入排序(C语言实现)
- 直接插入排序Linux下c 实现
- 直接插入排序 c语言描述
- 直接插入排序C语言实现
- C语言实现直接插入排序
- 数据结构c语言版之直接插入排序
- Linux下c直接插入排序算法
- Javascript网页打印大全
- VC编写vista或win7下需要管理员权限运行的程序
- json-c-0.9 在linux上编译使用
- 使用 screen 管理你的远程会话
- 【sed&awk】统计文本中单词的分布
- C++ 直接插入排序
- MFC里创建FLASH控件,并从内存流中载入SWF
- Anroid开发中常用的外部jar库
- 函数传空参 调用存储过程
- GridView 简单使用
- Android 开发环境配置问题:AVD不能创建是的原因
- ubuntu下安装sh和bin格式软件包
- 设置HTML标签<textarea>默认值
- nbu 2427 Pigs