C 求已有一个已排好的数组今输入一个数要求按原来排序的规律将它插入数组中
答案:2 悬赏:0
解决时间 2021-02-18 12:25
- 提问者网友:你在我心中是最美
- 2021-02-18 02:20
能不能把每步都解释下,我看了几个答案 但是都看不懂,谢谢了。
最佳答案
- 二级知识专家网友:孤伤未赏
- 2021-02-18 03:02
插入,其实很简单的
几个思路,给你说一下,假如啊,数组时从小到大排列的
第一个
把插入的数放在数组的最后,和前面的一个比较,如果小于前面的数据,那么交换,直到大于前面的数据,就跳出循环
第二个,就是插入,那么就要移动了
从前面判断,如果大于这个数组中的数据,后移一个在判断,直到小于数组中的那个元素,这个时候,要把数组后面的数据统统后移一个,在空出的地方插入这个数据
第三个,这个简单,就是赋值新的数组
比较,如果大于数组中的数据,那么把数组中的数据赋值到新的数组,直到小于数组中的数据,插入这个数,跳出循环,再用循环吧数组后面的数据赋值的新的数组中
根据这几个思路,这些代码其实很简单的
几个思路,给你说一下,假如啊,数组时从小到大排列的
第一个
把插入的数放在数组的最后,和前面的一个比较,如果小于前面的数据,那么交换,直到大于前面的数据,就跳出循环
第二个,就是插入,那么就要移动了
从前面判断,如果大于这个数组中的数据,后移一个在判断,直到小于数组中的那个元素,这个时候,要把数组后面的数据统统后移一个,在空出的地方插入这个数据
第三个,这个简单,就是赋值新的数组
比较,如果大于数组中的数据,那么把数组中的数据赋值到新的数组,直到小于数组中的数据,插入这个数,跳出循环,再用循环吧数组后面的数据赋值的新的数组中
根据这几个思路,这些代码其实很简单的
全部回答
- 1楼网友:孤伤未赏
- 2021-02-18 04:36
insert(int val,int* array,int* len)
//val为要插入的数,array为已排序的数组(假设为升序),len为数组元素个数。
{
int count,i;
i=*len;
for(count=0;count
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯