C語言實(shí)現(xiàn)刪除某一個(gè)數(shù)組值的方法
1、前言
在家里閑著還是閑著,這幾天見證了Python
各種數(shù)據(jù)結(jié)構(gòu)的強(qiáng)大。Python
中的數(shù)據(jù)類型如:列表、元組、字典等都具有其的特點(diǎn)。列表無需要設(shè)定其的長(zhǎng)度,我們可以隨機(jī)插入元素,同時(shí)元素的類型也是隨意的。
或許這就是面向?qū)ο笳Z言的強(qiáng)大,C語言做為面向過程的語言自然沒有如同Python一般強(qiáng)大的功能。學(xué)習(xí)C語言不會(huì)指針和結(jié)構(gòu)體確實(shí)玩不出什么東西,就例次CCF考試的字符串處理題使用C語言難度都很大,但是使用諸如C++一樣面向?qū)ο蟮恼Z言都是能輕而易舉地解決問題的。
不過為了讓以后處理C語言更加方便,個(gè)人打算今后在這記錄一些使用的函數(shù),大家可以自取。
2、刪除數(shù)組中的元素
python中我們可以輕易地使用如下的方法刪除特定的元素:
lang = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"] #使用正數(shù)索引 del lang[2] print(lang)
然而C語言一切東西都得靠自己搭建。在學(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)度。
操作過程與結(jié)果:
C語言雖然較為麻煩,但是我們?nèi)匀豢梢杂靡恍┖?jiǎn)單的方法實(shí)現(xiàn)。
到此這篇關(guān)于C語言數(shù)組中刪除數(shù)組中某個(gè)值的方法的文章就介紹到這了,更多相關(guān)C語言數(shù)組中刪除數(shù)組中某個(gè)值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
stringstream操縱string的方法總結(jié)
下面小編就為大家?guī)硪黄猻tringstream操縱string的方法總結(jié)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12c++中將二維數(shù)組元素變換為逆向存放的實(shí)現(xiàn)代碼
編程將一個(gè)二維數(shù)組元素變換為逆向存放,即按元素在內(nèi)存中的物理排列位置,第一個(gè)元素變成倒數(shù)第一個(gè)元素,第二個(gè)元素變成倒數(shù)第二個(gè)元素,依此類推2020-11-11C++ 關(guān)于STL中sort()對(duì)struct排序的方法
本篇文章介紹了,關(guān)于STL中sort()對(duì)struct排序的方法。需要的朋友參考下2013-04-04C語言實(shí)現(xiàn)的一個(gè)三子棋游戲詳解流程
三子棋是一種民間傳統(tǒng)游戲,又叫九宮棋、圈圈叉叉、一條龍、井字棋等。將正方形對(duì)角線連起來,相對(duì)兩邊依次擺上三個(gè)雙方棋子,只要將自己的三個(gè)棋子走成一條線,對(duì)方就算輸了2021-10-10C++算法之海量數(shù)據(jù)處理方法的總結(jié)分析
本篇文章是對(duì)海量數(shù)據(jù)處理方法進(jìn)行了詳細(xì)的總結(jié)與分析,需要的朋友參考下2013-05-05C++實(shí)現(xiàn)折半插入排序(BinaryInsertSort)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)折半插入排序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04