双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

数组的插入排序

moffatte moffatte 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这里的 insert 函数作用是:输入一个数,插入到一个有序的数组中。
但是,却出现了死循环。不知应该怎样修改。另外,我在修改时经常出现覆盖的现象,怎样避免呢?以下是代码:

以下是程序代码:

void insert(float a[], int& n, float x){
for(int i = n - 1; i > 0; i--)
if(a[i] > x)
for(int j = (n - 1); j >= i; j--) a[j] = a[j - 1];
a[i] = x;
++n;
}
另外,我参考了答案,它很简短。我想用 for 语句来写,可是不成功。请指点。
void insert(float a[], int& n, float x){
int i = n;
while(i > 0 && a[i - 1] > x)
a[i--] = a[i - 1];
a[i] = x;
++n;
}


...全文

相关推荐

C++实现插入排序对整数数组排序

利用插入排序,对整数数组排序 根据如下插入排序基本思想编程: 一个数显然是有序的,因此规模为1的排序问题能够求解; 如果能够为n-1个数排序,那么当有n个数时,只需先将前n-1个数排好序,再将最后一个数插入前面这n-1个有序数列中的合适位置即可。 例如: 要对3,6,2,4从小到大排序: 1、考虑规模为1的问题,即数字3,一个数显然是有序的; 2、规模为1的问题求解完毕后,加入新的数字6,将其放在3后面,得到序列3,6,从而解决了规模为2的问题; 3、规模为2的问题求解完毕后,加入新的数字2,将其放在3前面,得到序列2,3,6,从而解决了规模为3的问题; 4、规模为3的问题求解完毕后,

weixin_38554186

插入排序算法(动态数组实现)

插入排序算法(动态数组实现) printf("--------插入排序算法的实现--------\n"); printf("输入数组的大小length:\n"); int length=0; scanf("%d",&length); /****动态分配内存初始化数组***********************/ int * array = (int*)malloc(length * sizeof(int)); init(array,length); print_array(array,length); insert_sort(array,length); free(array);//释放动态数组空间

Candy链上笔记

php插入排序法实现数组排序实例

主要介绍了php插入排序法实现数组排序,实例分析了插入排序法的原理与具体的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下

weixin_38546622

js代码-插入排序排列数组

js代码-插入排序排列数组

weixin_38516658

php插入排序法实现数组排序实例_.docx

php插入排序法实现数组排序实例_.docx

lsadm1982
评论 10
收藏 已收藏
分享
返回顶部
moffatte
C++ 语言 65,214 成员 250,514 内容