插入算法(C语言)

复制代码
#include<cstdio>
#include<iostream>
#define  N 9
using namespace std;
int main()
{
    int arr[N+1] = { 1,4,7,13,16,19,22,25,280 }; 
    int in,i,j;//要插入的数字
    //打印要插入数字的数组所有元素
    printf("插入前的数组: ");
    for ( i = 0; i <N; i++)
    {
	printf(" %d ", arr[i]);
    }
    //从键盘读取一个要插入的元素
    printf("\n请输入一个要插入的数:");
    scanf_s("%d", &in);
    //找插入的位置
    for (i = 0; i < N; i++)
    {
    	if (arr[i] > in)//找到位置并跳出循环
	  {
		break;
	  }
    }
    //位移,向后移
    for (j = N; j > i; j--)
    {
    	arr[j] = arr[j - i];//为要插入的数字留出位置
    }
    arr[i] = in;//将来插入的数保存在该位置
    //打印插入后的数组
    printf("\n插入后的数组:\n");
    for (i = 0; i < N+1; i++)
    {
	printf(" %d ", arr[i]);
    }
    printf("\n");
    return 0;
}
相关推荐
星光开发者7 分钟前
基于决策树随机森林算法的小说推荐系统的设计与实现-计算机毕设【课程设计】78485
vue.js·算法·微信小程序·django·php·课程设计·express
夜晚回家12 分钟前
Python 零基础入门 | 输入的数字为什么不能直接算
开发语言·python
时间的拾荒人13 分钟前
Qt 事件机制全解析:从事件处理到事件过滤器
开发语言·qt·面试
-森屿安年-16 分钟前
按身高排序
c++·算法
于指尖飞舞16 分钟前
java面试题总结
java·开发语言
程序员清风33 分钟前
算法与数据结构入门:复杂度、数组与链表
数据结构·算法·链表
无定义_44 分钟前
Codeforces Round 1124 (Div. 2)
算法
山下梅子酒2251 小时前
洛谷-入门-B2079
c语言
(Charon)1 小时前
【C++面试】vector底层原理:扩容、拷贝移动与迭代器失效
c++·面试
zhangzeyuaaa2 小时前
深入理解 Ruby 运算符:本质、分类、坑点与重载实战
开发语言·前端·ruby