直接插入排序
来源:互联网 发布:链轮设计软件 编辑:程序博客网 时间:2024/06/11 05:27
插入排序— 直接插入排序
直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,它的基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表
例如,待排序的一组记录的初始排列
49 38 65 97 76 13 27 49,其排序过程如下图所示:
代码实现:
#include <stdio.h>#include <stdlib.h>//打印排序结果void sout(int num[] , int n ,int i){ int j; printf("第 %d 次",i); for (j=0 ; j<n ; j++) { printf("%d ",num[j]); }}//排序void sort(int num[],int n){ int i , j , temp ; for (i=1 ; i<n ; i++) { if (num[i]<num[i-1]) { //哨兵 temp = num[i]; for (j=i-1 ; num[j]>temp ; j--) { num[j+1] = num[j]; } num[j+1] = temp; } sout(num,n,i); printf("\n"); }}int main(void){ int num[]={1,5,9,7,6,3,2}; int n = 7,i; sort(num,n); for (i=0 ; i<7 ; i++) { printf("%d ",num[i]); } return 0;}
时间复杂度:O(n^2)
0 0
- 插入排序--直接插入
- 插入排序------直接插入
- 插入排序---直接插入
- 排序:直接插入排序
- 排序---直接插入排序
- 排序 -- 直接插入排序
- 排序---直接插入排序
- 排序--直接插入排序
- 排序-直接插入排序
- 【排序】直接插入排序
- 排序--直接插入排序
- 排序:直接插入排序
- 【排序】直接插入排序
- 排序--直接插入排序
- 排序--直接插入排序
- 排序-直接插入排序
- 插入排序--直接插入排序
- 插入排序-直接插入排序
- Android 唯一设备号生成方案
- 机器学习中各种距离
- 事件的绑定与解绑
- JNI学习积累之一 ---- 常用函数大全
- 重启docker服务器后 遇到 'device or resource busy'错误
- 直接插入排序
- 结构体嵌套二级指针
- UVALive 4287 Proving Equivalences(强连通分量)
- Friends number (数论,打表)
- 论文学习:深度神经网络时间序列建模(1)
- Codeforces Round #408 (Div. 2) B. Find The Bone【模拟】水题~
- 为什么网页引用外部CSS文件不起作用??
- 求两个节点的最近公共祖先多种解法&&判断一个节点是否在二叉树中
- pta中习题2_6