IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> C语言_数组_直接插入排序 -> 正文阅读

[数据结构与算法]C语言_数组_直接插入排序

(只是一个数组题目罢了)

直接插入排序,是指将无序序列中的各元素依次插入到已经有序的数组中。

假设数组中前i-1元素已经有序,现在要将线性表中第i个元素插入到前面的有序子表中,插入过程如下:

以长度为n=8的序列(13,6,1,31,9,27,5,11)的插入排序过程做示范: 第1趟:将数组第2个元素6向前插入后,则数组中元素为(6,13,1,31,9,27,5,11); 第2趟:将数组第3个元素1向前插入后,则数组中元素为(1,6,13,31,9,27,5,11); 第3趟:将数组第4个元素31向前插入后,则数组中元素为(1,6,13,31,9,27,5,11); …… 第7趟:将数组第8个元素11向前插入后,则数组中元素为(1,5,6,9,11,13,27,31); 总之,共执行7趟操作,可将有n=8个元素的数组排成有序序列。

插入排序从第二个数开始,拿出第二个数向前进行插入排序,一直到最后一个数向前做插入排序,要求输出每趟插入排序的结果。

测试输入

10

47 47 21 69 2 8 76 50 9 47

预期输出:

47 47 21 69 2 8 76 50 9 47

21 47 47 69 2 8 76 50 9 47

21 47 47 69 2 8 76 50 9 47

2 21 47 47 69 8 76 50 9 47

2 8 21 47 47 69 76 50 9 47

2 8 21 47 47 69 76 50 9 47

2 8 21 47 47 50 69 76 9 47

2 8 9 21 47 47 50 69 76 47

2 8 9 21 47 47 47 50 69 76

提示: 如果有10个整数,要求输出每趟插入排序共9趟的结果。

这里我调用了自定义函数来实现程序,真正编写时可以不用函数。具体怎么做,就请读者自己思考啦。

编写程序:

#include<stdio.h>
#define N 100
int ONE (int a[],int n)
{
	int i,m;
	for (m=2;m<n+1;m++)
	{
		a[0]=a[m];
		for(i=m-1;i>=1;i--)
		{
			if (a[0]<a[i])
				a[i+1]=a[i];
			else break;
		}
		a[i+1]=a[0];
		for(i=1;i<=n;i++)
			printf("%d ",a[i]);
		printf("\n");
	}
	
}
int main()
{
	int a[N],n,i;
	scanf ("%d",&n);
	for (i=1;i<=n;i++)
		scanf ("%d",&a[i]);
	printf ("\n"); 
	ONE(a,n);
	return 0;
}

运行结果:


?运行成功!

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-11-17 13:00:34  更:2021-11-17 13:00:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:27:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码