【数据结构和算法】排序算法之三:插入排序
来源:互联网 发布:软件研制任务书 编辑:程序博客网 时间:2024/06/06 01:19
一 插入排序
(1) 思想
在玩扑克牌的时候,我们不会像选择排序那样每次都从一堆牌中选择最小的来进行排序,而是没摸一张牌,然后插入现有的手牌中,那么此时现有的手牌就必须是有序的。
插入排序的思想正是如此:每次将待排序元素插入现有的有序数组中,从而得到一个新的,个数增加1的有序数组。
(2) 实现
//插入排序void Insert_sort(SortArray *A , int n){int i ,j ;int temp;//用于存储待排序元素for (i = 1;i < n;i++) //数组第0位为初始有序数组,所以从第1位开始插入{temp = (*A)[i];j = i-1;while ((*A)[j]>temp && j>=0){(*A)[j+1] = (*A)[j];j--;}(*A)[j+1] = temp;}}
附上主程序代码:
#include <stdio.h>#include "stdafx.h"#include <iostream> using namespace std;#define MAX 100typedef int SortArray[MAX];int _tmain(int argc, _TCHAR* argv[]){int n ;SortArray A;cout<<"/**插入排序**/\n"<<"请输入数组个数"<<endl;cin>>n;cout<<"请输入待排序数组"<<endl;for (int i = 0 ; i < n ; i++){cin>>A[i];}cout<<"正在排序请稍后....."<<endl;Insert_sort(&A,n);cout<<"排序结果如下....."<<endl;for (int i = 0 ; i < n ; i++){cout<<A[i]<<endl;}system("pause");return 0;}
1 0
- 【数据结构和算法】排序算法之三:插入排序
- [数据结构和算法]插入排序
- 数据结构:排序算法之插入排序
- 数据结构<一> 排序算法之插入排序
- 数据结构与算法之三直接插入排序
- 排序算法(三)之插入排序
- 排序算法之三 插入排序
- 蛙步学排序算法之三 - 插入排序
- 【算法-排序之三】插入排序
- 【算法-排序之三】插入排序
- 【算法-排序之三】插入排序
- 排序算法之三---插入排序
- 数据结构-插入排序算法
- 数据结构算法-插入排序
- 数据结构和算法分析之排序算法--插入排序篇(直接插入排序和希尔排序)
- 数据结构和算法学习和理解 之 插入排序
- (九)数据结构之简单排序算法实现:冒泡排序、插入排序和选择排序
- 算法与数据结构基础(三)插入排序、选择排序和冒泡排序的区别
- 为什么要乘以unity_Scale.w?
- 使用LruCache进行图片缓存
- 2015年最新Android基础入门教程目录(完结版)
- 机器学习分类算法(一)——余弦相似度
- Android开发:关于在启动页面就会报相机异常等类似问题
- 【数据结构和算法】排序算法之三:插入排序
- HDOJ 5567 sequence1 (暴力)
- Masonry Example运行pop install问题处理
- [Leetcode]Construct Binary Tree from Inorder and Postorder Traversal
- HDU 1874 畅通工程续
- Python小错误
- 《2015最新Android基础入门教程》完结散花~
- 类型、运算符与表达式
- 排序算法-快速排序