您好,登錄后才能下訂單哦!
C語言實(shí)現(xiàn)刪除數(shù)組中某個(gè)元素
大家知道C語言實(shí)現(xiàn)刪除數(shù)組中某個(gè)元素方法嗎?下面將講述在C語言中實(shí)現(xiàn)刪除數(shù)組中某個(gè)元素的兩種方法,大家一起看看吧。
方法1:
/* name: c語言 刪除數(shù)組的某個(gè)元素 tip: 數(shù)組元素的增/刪/ 改/查(簡(jiǎn)單遍歷就ok) 數(shù)組增刪操作在c語言中沒有相應(yīng)的函數(shù)------我們最好是 自己寫個(gè)函數(shù)保存好 注意代碼縮進(jìn),對(duì)齊 */ #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為數(shù)組長(zhǎng)度 n=sizeof(arr)/sizeof(int); //printf("%d\n",n);//測(cè)試n printf("刪除前數(shù)組為:"); for(k=0;k<=n-1;k++) { printf("%4d",arr[k]); } printf("\n"); //輸入提示: printf("請(qǐng)輸入要?jiǎng)h除的數(shù):"); 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; }/*執(zhí)行完這個(gè)if引導(dǎo)的代碼塊后,刪除工作已ok了,但程序還會(huì)把循環(huán)跑完, 會(huì)自然想到break ,但仔細(xì)一想,不好控制,不行,,, 最好的解決方法-goto 或 記錄下標(biāo),出循環(huán)后處理這個(gè)下標(biāo) */ } /* 此處 也可以使用 記錄下標(biāo)delectindex的方法 ---推薦使用,因?yàn)樯厦娴? 代碼在執(zhí)行的時(shí)候 會(huì)多run些無用的步驟,具體見上面的注釋 */ //loop1: printf("刪除后數(shù)組為:"); for(k=0;k<=n-2;k++) { printf("%4d",arr[k]); } printf("\n"); return 0; }
方法2:記錄下標(biāo)
/* name: c語言 刪除數(shù)組的某個(gè)元素 tip: 數(shù)組元素的增/刪/ 改/查(簡(jiǎn)單遍歷就ok) 數(shù)組增刪操作在c語言中沒有相應(yīng)的函數(shù)------我們最好是 自己寫個(gè)函數(shù)保存好 注意代碼縮進(jìn),對(duì)齊 */ #include<stdio.h> int main() { //刪 int arr[]={1,3,10,5,4,} ; int delect=0; int delectIndex=0; int i=0;//相比于上一個(gè)代碼,少定義了k,j,---這種用來控制循環(huán)的變量,在不是嵌套的情況下,可以只定義一個(gè) //(盡量少定義變量,減少內(nèi)存占用) int n;//n為數(shù)組長(zhǎng)度 n=sizeof(arr)/sizeof(int); //printf("%d\n",n);//測(cè)試n printf("刪除前數(shù)組為:"); for(i=0;i<=n-1;i++) { printf("%4d",arr[i]); } printf("\n"); //輸入提示: printf("請(qǐng)輸入要?jiǎng)h除的數(shù):"); scanf("%d",&delect); for(i=0;i<=n-1;i++) { if(delect==arr[i]) delectIndex=i;//記錄要?jiǎng)h除元素的下標(biāo) } for(i=delectIndex;i<=n-2;i++) { arr[i]=arr[i+1]; } //想知道較為具體的執(zhí)行過程---debug 或 寫些printf(建議使用) printf("刪除后數(shù)組為:"); for(i=0;i<=n-2;i++) { printf("%4d",arr[i]); } printf("\n"); return 0; }
更多相關(guān)知識(shí)點(diǎn)文章:
C語言中用一維數(shù)組完成去掉最大值和最小值并求出平均值的示例
以上就是C語言實(shí)現(xiàn)刪除數(shù)組中某個(gè)元素的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注億速云其它相關(guān)文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。