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语言中break的用法

C语言中的语句之间必须用分号作为分隔符吗?

详细解说C语言中的两种输出对齐方式(小白必看)

C语言文件的扩展名是什么

汇编语言和C语言之间有什么区别?

C语言给数组赋值的3种形式

C语言中“或”怎么表示?

两分钟带你了解如何使用“strcpy()”函数

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



打赏

取消

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

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

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

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

评论

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