C语言向有序数组中插入一个数使该数组仍保持有序


C语言向有序数组中插入一个数使该数组仍保持有序

先看Linux下运行结果:

C语言向有序数组中插入一个数使该数组仍保持有序

#include<stdio.h> /*向有序的数组中插入一个数使该数组仍有序*/
#define N 5

void sort(int a[],int num)
{
 int i,j,t1,t2;
 int end=a[N-2];
 if(num>=end)
  a[N-1]=num;
 else
 {
  for(i=0;i<N-1;i++)
    if(a[i]>num)
   {
    t1=a[i]; //先保存当前位置的值
    a[i]=num; //插入数值
    for(j=i+1;j<N;j++)
    { //以下三行将插入位置之后的数依次向后移动
     t2=a[j];
     a[j]=t1;
     t1=t2;
        }
   break; //找到合适的位置后就终止外层循环
   }
 }
}

int main()
{
 int a[N]={5,10,20,50};
 int i=0;
 int num;

 printf("原数组:");
 for(i=0;a[i]!='\0';i++)
 printf("%d\t",a[i]);

 printf("\n输入要插入的数:");
 scanf("%d",&num);

 sort(a,num);
 printf("新的数组:");
 for(i=0;i<N;i++)
 printf("%d\t",a[i]);
 printf("\n");
 return 0;
}

将C语言梳理一下,分布在以下10个章节中:

  1. Linux-C成长之路(一):Linux下C编程概要
  2. Linux-C成长之路(二):基本数据类型
  3. Linux-C成长之路(三):基本IO函数操作
  4. Linux-C成长之路(四):运算符
  5. Linux-C成长之路(五):控制流
  6. Linux-C成长之路(六):函数要义
  7. Linux-C成长之路(七):数组与指针
  8. Linux-C成长之路(八):存储类,动态内存
  9. Linux-C成长之路(九):复合数据类型
  10. Linux-C成长之路(十):其他高级议题

C++ Primer Plus 第6版 中文版 清晰有书签PDF+源代码

本文永久更新链接地址:

相关内容

    暂无相关文章