c语言实现向有序数组中插入一个数并保持有序


本文摘自PHP中文网,作者V,侵删。

算法思想:

从头开始遍历找到第一个大于element的数,然后插入数字,后面的元素依次移动。

实例代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

#include<stdio.h>//直接插入排序

void insert_array(int *a,int length,int element)//插入函数 往有序的数组a里插入值为element的元素使数组a依然有序

{

  int i,j,t,f;

  for(i=0;i<length;i++)

  {

    if(a[i]>element)

       {

        t=i;//找到位置以后 可以依次移动数组元素腾出位置了

         for(j=length;j>=t;j--)

            {

               if(j==t)

                   a[j]=element;

           else

                  a[j]=a[j-1];//数组依次往后移动 不管正序还是倒序都可以

        }

        f=1;

        break;

      }

       

      

   }

   if(f!=1)//当element大于所有数组元素时候

   {

     a[length]=element;

   }

  for(i=0;i<length+1;i++)

  {

    printf("%d ",a[i]);

  }

}

int main()

{

  int a[5]={1,2,3,5,6};

  int e=7;

  insert_array(a,5,e);

}

推荐教程:c语言教程

以上就是c语言实现向有序数组中插入一个数并保持有序的详细内容!

相关阅读 >>

C语言关系运算符号有哪些?

C语言怎么换行

C语言中数组该怎么用更好

C语言提供的合法的数据类型关键字是什么?

C语言每条语句以什么结束

C语言的标识符由什么组成

C语言的认识和想法是什么

C语言中要改变循环语句的流程可以使用的语句有哪些

C语言中求余运算符是什么?

C语言数组怎么输入?

更多相关阅读请进入《C语言》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...