C语言-数组插入的算法

来源:互联网 发布:编程语言培训 编辑:程序博客网 时间:2024/05/21 15:05

最近整理文档,发现上课的时候写的算法,有详细的注释,发到这里大家共享一下吧。

 

void insert_array(int[] A,int n,int item)
{
 int k,m;
 for(k=0;k<n;k++)
  if(A[k]>=item)
   break;/*寻找item的位置*/
 for(m=n;m>k;m--)
  A[m+1]=A[m];/*通过后移插入*/
 A[k]=item;/*在此插入*/
 return; 
}

void delete_item(int[] A,int n,int item)
{
 int k=0,m;
 while(k<n)/*由于n可能变化,故此处不用for*/
 {
  if(A[k]==item)
  {
   for(m=k;m<n-1;m++)
    A[m]=A[m+1];/*利用前移删除*/
   n--;/*注意n要减少*/
  }
  else
   k++;/*继续查找其他记录*/
 }
 return;
}