ホームページ > バックエンド開発 > C#.Net チュートリアル > 配列内の要素の削除を実装する C 言語

配列内の要素の削除を実装する C 言語

烟雨青岚
リリース: 2020-06-17 12:37:06
転載
13541 人が閲覧しました

配列内の要素の削除を実装する C 言語

#配列内の要素を削除する C 言語の実装

C 言語で配列の要素を削除する方法を知っていますか? C言語で配列の要素を削除する2つの方法を説明しますので、見てみましょう。

方法 1:

 /* 
 name: c语言  删除数组的某个元素 
 tip:
   数组元素的增/删/      改/查(简单遍历就ok) 
   数组增删操作在c语言中没有相应的函数------我们最好是 自己写个函数保存好 
   注意代码缩进,对齐 
*/
#include<stdio.h>
int main()
{
//删
int arr[]={1,3,10,5,4,} ;
int delect=0;
int i=0,j=0,k=0;
int n;//n为数组长度 
n=sizeof(arr)/sizeof(int);
//printf("%d\n",n);//测试n
 
 printf("删除前数组为:");
 for(k=0;k<=n-1;k++)
 {
  printf("%4d",arr[k]);
  
 }
 printf("\n");
 
 
//输入提示:
printf("请输入要删除的数:");
scanf("%d",&delect); 
for(i=0;i<=n-1;i++)
   {    
    if(delect==arr[i])
       {
       for(j=i;j<=n-2;j++)
          {
          arr[j]=arr[j+1];//覆盖 
}  
  // goto loop1; 
}/*执行完这个if引导的代码块后,删除工作已ok了,但程序还会把循环跑完,
会自然想到break ,但仔细一想,不好控制,不行,,,
最好的解决方法-goto  或  记录下标,出循环后处理这个下标 
 
*/
}
/*
此处 也可以使用 记录下标delectindex的方法 ---推荐使用,因为上面的 
代码在执行的时候 会多run些无用的步骤,具体见上面的注释 
*/
    //loop1: 
printf("删除后数组为:");
for(k=0;k<=n-2;k++)
   {
    printf("%4d",arr[k]);
}
printf("\n");
 
return 0;
}
ログイン後にコピー

方法 2: レコードの添字

/* 
 name: c语言  删除数组的某个元素 
 tip:
   数组元素的增/删/      改/查(简单遍历就ok) 
   数组增删操作在c语言中没有相应的函数------我们最好是 自己写个函数保存好 
   注意代码缩进,对齐 
*/
#include<stdio.h>
int main()
{
//删
int arr[]={1,3,10,5,4,} ;
int delect=0;
int delectIndex=0;
int i=0;//相比于上一个代码,少定义了k,j,---这种用来控制循环的变量,在不是嵌套的情况下,可以只定义一个
//(尽量少定义变量,减少内存占用) 
int n;//n为数组长度 
n=sizeof(arr)/sizeof(int);
//printf("%d\n",n);//测试n
  
 printf("删除前数组为:");
 for(i=0;i<=n-1;i++)
 {
  printf("%4d",arr[i]);
  
 }
 printf("\n");
 
 
//输入提示:
printf("请输入要删除的数:");
scanf("%d",&delect); 
for(i=0;i<=n-1;i++)
   {    
    if(delect==arr[i]) delectIndex=i;//记录要删除元素的下标 
  }
  
  
for(i=delectIndex;i<=n-2;i++)
  {
  arr[i]=arr[i+1];
  }
  
  //想知道较为具体的执行过程---debug  或  写些printf(建议使用) 
   
printf("删除后数组为:");
for(i=0;i<=n-2;i++)
   {
    printf("%4d",arr[i]);
}
printf("\n");
 
return 0;
}
ログイン後にコピー

ありがとうございます読んでくださった皆さん、この記事が有益であることを願っています。

この記事は、https://blog.csdn.net/csdn17355456893/article/details/76883951

から転載されています推奨チュートリアル: 「言語>>

以上が配列内の要素の削除を実装する C 言語の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート