当前位置: 首页 > article >正文

直接插入排序

一.介绍.

其基本思想为数据元素被已经放入一个已经排好的有序数组中,现插入一个元素进入该数组,按顺序(即大小关系)放进适当位置,并且其后面的元素都向后移动移位。

如图:

对于上述问题:

代码如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#define SIZE 8//便于改变
int main()
{
	int arr[SIZE] = { 0 };
	for (int i = 0; i < SIZE; i++)
	{
		scanf("%d", &arr[i]);
	}
	//直接插入排序
	for (int i = 1; i < SIZE; i++)
	{
		int m = *(arr + i);//将arr[i]中的值赋给m
		//如果i>i-1那么交换
		int j = i - 1;
		while (j >= 0 && m > *(arr + j))
		{
			//交换
			*(arr + j + 1) = *(arr + j);
			j--;

		}
		*(arr + j + 1) = m;
	}
	//输出
	for (int i = 0; i < SIZE; i++)
	{
		printf("%d ", *(arr + i));
	}
	return 0;
}


http://www.kler.cn/a/131758.html

相关文章:

  • 内网穿透的应用-通过内网穿透快速搭建公网可访问的Spring Boot接口调试环境
  • go语言 | 图解字节青训营抖音(一)
  • 汇编-间接寻址(处理数组)
  • Taro编译警告解决方案:Error: chunk common [mini-css-extract-plugin]
  • 解决升级docker导致的k8s崩溃问题
  • 华纳云:租用的服务器连接超时怎么办?
  • demo(三)eurekaribbonhystrix----服务降级熔断
  • WPF ResourceDictionary的作用
  • Banana Pi BPI-W3之RK3588安装Qt+opencv+采集摄像头画面.
  • openEuler安全配置规范基线
  • 安装应用与免安装应用差异对比
  • mysql 常见操作指令
  • vue+springboot实现登录或注册滑动验证码( AJ-Captcha)
  • 【LeetCode】挑战100天 Day11(热题+面试经典150题)
  • rpc依赖安装
  • 【go】报错整理与解决
  • 最新自动定位版本付费进群系统源码
  • Flink(五)【DataStream 转换算子(上)】
  • Java 之拼图小游戏
  • [工业自动化-23]:西门子S7-15xxx编程 - 软件编程 - 西门子PLC人机界面交互HMI功能概述、硬件环境准备、软件环境准备