直接插入排序
来源:互联网 发布:淘宝搜什么卖qq号的 编辑:程序博客网 时间:2024/06/13 01:40
一、直接插入排序算法
1、基本思想:将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增
1的有序表。
2、相应的代码实例如下:
#include<iostream>#include <time.h>using namespace std;#define ARR_MAX 10 // 假设有10个数//直接插入排序(升序)void insert_sort(int a[],int n){int i,j,temp;for(i=1;i<n;i++)//需要选择n-1次{temp=a[i];//暂存下标为1的数,下标从1开始,因为开始时下标为0的数,前面没有任何数,此时认为它是排好顺序的for(j=i-1;j>=0 && temp<a[j];j--){//如果满足条件就往后挪a[j+1]=a[j];}a[j+1]=temp;//找到下标为i的数的放置位置}}void print_arry(int a[], int len){for(int i=0;i<len;i++)//循环打印数组的每个元素{cout<<a[i]<<" ";}cout<<endl;}int main(){srand((unsigned)time(NULL)); // 随机种子int t[ARR_MAX];cout<<"排序前:";for (int i=0;i<ARR_MAX;i++) {t[i]=rand()%1000+1; // 随机数为1~1000cout<<t[i]<<" ";}cout<<endl;insert_sort(t,ARR_MAX);cout<<"排序后:";print_arry(t,ARR_MAX);return 0;}
3、运行效果如下:
0 0
- 插入排序--直接插入
- 插入排序------直接插入
- 插入排序---直接插入
- 排序:直接插入排序
- 排序---直接插入排序
- 排序 -- 直接插入排序
- 排序---直接插入排序
- 排序--直接插入排序
- 排序-直接插入排序
- 【排序】直接插入排序
- 排序--直接插入排序
- 排序:直接插入排序
- 【排序】直接插入排序
- 排序--直接插入排序
- 排序--直接插入排序
- 排序-直接插入排序
- 插入排序--直接插入排序
- 插入排序-直接插入排序
- 今天使用gson json字符串转对象的时候,一直报错Unterminated object at line 1 column 14
- iOS 改变UIPickerView分割线颜色
- springmvc方法中表单收集
- c++ 隐式转换
- 【论文笔记】Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
- 直接插入排序
- 使用phpMyAdmin修改数据库名称
- 福建厦门联通DNS
- 《Java疯狂讲义-Chap6面向对象下》
- lengh和lengh()和size()的区别
- vs2010常用快捷键
- 【论文笔记】Rich feature hierarchies for accurate object detection and semantic segmentation
- STM32调用外设功能的流程笔记
- [深度学习论文笔记][Image Classification] Deep Residual Learning for Image Recognition