C語(yǔ)言實(shí)現(xiàn)刪除某一個(gè)數(shù)組值的方法
1、前言
在家里閑著還是閑著,這幾天見(jiàn)證了Python各種數(shù)據(jù)結(jié)構(gòu)的強(qiáng)大。Python中的數(shù)據(jù)類型如:列表、元組、字典等都具有其的特點(diǎn)。列表無(wú)需要設(shè)定其的長(zhǎng)度,我們可以隨機(jī)插入元素,同時(shí)元素的類型也是隨意的。
或許這就是面向?qū)ο笳Z(yǔ)言的強(qiáng)大,C語(yǔ)言做為面向過(guò)程的語(yǔ)言自然沒(méi)有如同Python一般強(qiáng)大的功能。學(xué)習(xí)C語(yǔ)言不會(huì)指針和結(jié)構(gòu)體確實(shí)玩不出什么東西,就例次CCF考試的字符串處理題使用C語(yǔ)言難度都很大,但是使用諸如C++一樣面向?qū)ο蟮恼Z(yǔ)言都是能輕而易舉地解決問(wèn)題的。
不過(guò)為了讓以后處理C語(yǔ)言更加方便,個(gè)人打算今后在這記錄一些使用的函數(shù),大家可以自取。
2、刪除數(shù)組中的元素
python中我們可以輕易地使用如下的方法刪除特定的元素:
lang = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"] #使用正數(shù)索引 del lang[2] print(lang)
然而C語(yǔ)言一切東西都得靠自己搭建。在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)時(shí)第一個(gè)實(shí)驗(yàn)就是與順序表處理相關(guān)的內(nèi)容,這里介紹的就是其中一個(gè)操作。
我們?cè)谶@邊就可以先定義一個(gè)函數(shù),參數(shù)分別是數(shù)組名和數(shù)組長(zhǎng)度:
void del_element(int arr[],int n) //n為數(shù)組的元素個(gè)數(shù)
數(shù)組的長(zhǎng)度雖然需要我們自己給定,但是我們不必要直接寫出其具體的元素個(gè)數(shù),而直接先向數(shù)組中賦值。
int arr[]={1,4,5,7};
既然要?jiǎng)h除數(shù)組中的元素,我們就必須得先知道數(shù)組中有哪些元素。同時(shí)還要定義一個(gè)變量,并將需要?jiǎng)h除的元素賦值給那個(gè)變量。
int delect=0;
printf("刪除操作前的數(shù)組:\n");
for(int k = 0;k<n;k++)
{
printf("%4d",arr[k]);
}
printf("\n");
printf("請(qǐng)輸入你要?jiǎng)h除的數(shù):");
scanf("%d",&delect);
下面就是重中之中,刪除這個(gè)元素的操作:

將要?jiǎng)h去的元素后面的元素往前移,那個(gè)要?jiǎng)h除的函數(shù)自然而然就被覆蓋掉了。
函數(shù)源代碼:
void del_element(int arr[],int n) //n為數(shù)組的元素個(gè)數(shù)
{
int delect=0;
printf("刪除操作前的數(shù)組:\n");
for(int k = 0;k<n;k++)
{
printf("%4d",arr[k]);
}
printf("\n");
printf("請(qǐng)輸入你要?jiǎng)h除的數(shù):");
scanf("%d",&delect);
for(int i=0;i<=n-1;i++)
{
if(delect==arr[i])
{
for(int j=i;j<=n-2;j++)
{
arr[j]=arr[j+1];//覆蓋
}
}
}
}
下面我們?cè)谥骱瘮?shù)中調(diào)用該函數(shù):
int main()
{
int arr[]={1,4,5,7};
int length_arr = sizeof(arr)/sizeof(int);
del_element(arr,length_arr);
printf("完成操作后的數(shù)組:\n");
for(int i=0;i<length_arr-1;i++)
{
printf("%4d",arr[i]);
}
return 0;
}
我們可以不需去計(jì)算數(shù)組元素個(gè)數(shù),而是使用sizeof(arr)/sizeof(int)的方式計(jì)算數(shù)組長(zhǎng)度。
操作過(guò)程與結(jié)果:

C語(yǔ)言雖然較為麻煩,但是我們?nèi)匀豢梢杂靡恍┖?jiǎn)單的方法實(shí)現(xiàn)。
到此這篇關(guān)于C語(yǔ)言數(shù)組中刪除數(shù)組中某個(gè)值的方法的文章就介紹到這了,更多相關(guān)C語(yǔ)言數(shù)組中刪除數(shù)組中某個(gè)值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++中基類和派生類之間的轉(zhuǎn)換實(shí)例教程
這篇文章主要介紹了C++中基類和派生類之間的轉(zhuǎn)換,有助于深入理解C++面向?qū)ο蟪绦蛟O(shè)計(jì),需要的朋友可以參考下2014-08-08
C++貪心算法實(shí)現(xiàn)活動(dòng)安排問(wèn)題(實(shí)例代碼)
貪心算法(又稱貪婪算法)是指,在對(duì)問(wèn)題求解時(shí),總是做出在當(dāng)前看來(lái)是最好的選擇。這篇文章主要介紹了C++貪心算法實(shí)現(xiàn)活動(dòng)安排問(wèn)題,需要的朋友可以參考下2019-11-11
C++數(shù)據(jù)精度問(wèn)題(對(duì)浮點(diǎn)數(shù)保存指定位小數(shù))
這篇文章主要介紹了對(duì)浮點(diǎn)數(shù)保存指定位小數(shù)。比如, 1.123456. 要保存1位小數(shù),,調(diào)用方法后, 保存的結(jié)果為: 1.1。 再比如,1.98765, 保存2位小數(shù)的結(jié)果為: 2.00,需要的朋友可以參考下2017-08-08
C語(yǔ)言實(shí)現(xiàn)學(xué)生個(gè)人消費(fèi)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言學(xué)生個(gè)人消費(fèi)管理系統(tǒng)開(kāi)發(fā),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
c語(yǔ)言實(shí)現(xiàn)基數(shù)排序解析及代碼示例
這篇文章主要介紹了c語(yǔ)言實(shí)現(xiàn)基數(shù)排序解析及代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
strcat函數(shù)實(shí)現(xiàn)簡(jiǎn)單示例
這篇文章主要介紹了strcat函數(shù)實(shí)現(xiàn)簡(jiǎn)單示例,需要的朋友可以參考下2014-03-03

