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个章节中:

Linux-C成长之路(一):Linux下C编程概要

Linux-C成长之路(二):基本数据类型

Linux-C成长之路(三):基本IO函数操作

Linux-C成长之路(四):运算符

Linux-C成长之路(五):控制流

Linux-C成长之路(六):函数要义

Linux-C成长之路(七):数组与指针

Linux-C成长之路(八):存储类,动态内存

Linux-C成长之路(九):复合数据类型

Linux-C成长之路(十):其他高级议题

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/9b4b07a33dfc75916d486ed2f28b6e09.html