博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
插入排序2.0
阅读量:4570 次
发布时间:2019-06-08

本文共 1166 字,大约阅读时间需要 3 分钟。

好久没复习以前写的数据结构了,今天看了一段以前写的插入排序。

插入排序原理:通俗讲,和打扑克牌整理牌是一个道理,从一堆混乱牌中,一张一张拿,拿一张后与前面排好的牌一个个比较,插入合适的位置。

时间复杂度:O(n^2)

/*插入排序2.0**此版本将创建数组函数删除,**创建数组与插入排序编排到**同一个函数里。*/#include "stdafx.h"#include 
#define M 1000void Insert_sorting(int a[],int n);//插入排序void Out_put(int a[], int n);//输出数组int main(){ int n; int a[M] = {
0}; printf_s("输入待排序个数\n"); printf_s("n="); scanf_s("%d", &n); Insert_sorting(a,n); Out_put(a, n); return 0;}void Insert_sorting(int a[], int n){ int i, j, wep;//wep is 中间变量 printf_s("请输入第1个值="); scanf_s("%d", &a[0]); for (i = 1; i < n; i++) { printf_s("请输入第%d个值=", i+1); scanf_s("%d", &a[i]); for (j = i;; j--) { if (j == 0) { break; } if (a[j] < a[j - 1]) { wep = a[j - 1]; a[j - 1] = a[j]; a[j] = wep; } else { break; } } }}void Out_put(int a[], int n){ int i; for (i = 0; i < n; i++) { printf_s("%d ", a[i]); }}

 

转载于:https://www.cnblogs.com/zpc-uestc/p/6280261.html

你可能感兴趣的文章
js怎么将光标移动特定的位置:
查看>>
VI 正则表达式
查看>>
JavaWeb_(MVC)管理员后台商品查询demo
查看>>
MySQL_(Java)使用JDBC向数据库中修改(update)数据
查看>>
APP支付宝支付接入
查看>>
148. Sort List (List)
查看>>
kernel 模块与简单 hello 模块
查看>>
[蓝桥杯] 四平方和
查看>>
c#:winform从一个toolstriptool上拖动一个图标到一个自定义usercontrol内。
查看>>
HBase 常用命令
查看>>
【回归分析】[4]--多元线性回归mma操作
查看>>
[LeetCode] Majority Element
查看>>
SVN服务器搭建和使用(二)
查看>>
MVC认知路【点点滴滴支离破碎】【二】----Razor服务器标记语言
查看>>
[POJ1423]Stirling公式的应用
查看>>
EJBCA的安装(基于Ubuntu 16.04 LTS + wildfly8 + ejbca6.3.11 + jdk7)
查看>>
替换字符串中的子串
查看>>
关于IO与NIO
查看>>
C#如何获得webbrowser网页里某元素所占用的位置坐标
查看>>
02-TypeScript中新的字符串
查看>>