>  기사  >  백엔드 개발  >  C 언어는 순서가 지정된 배열에 숫자를 삽입하고 순서대로 유지하는 기능을 구현합니다.

C 언어는 순서가 지정된 배열에 숫자를 삽입하고 순서대로 유지하는 기능을 구현합니다.

王林
王林원래의
2020-05-08 13:37:067782검색

C 언어는 순서가 지정된 배열에 숫자를 삽입하고 순서대로 유지하는 기능을 구현합니다.

알고리즘 아이디어:

처음부터 탐색하여 요소보다 큰 첫 번째 숫자를 찾은 다음 숫자를 삽입하면 후속 요소가 순서대로 이동됩니다.

예제 코드:

#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 언어는 순서가 지정된 배열에 숫자를 삽입하고 순서대로 유지하는 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.