C語言實現(xiàn)刪除某一個數(shù)組值的方法
1、前言
在家里閑著還是閑著,這幾天見證了Python
各種數(shù)據(jù)結(jié)構(gòu)的強大。Python
中的數(shù)據(jù)類型如:列表、元組、字典等都具有其的特點。列表無需要設(shè)定其的長度,我們可以隨機插入元素,同時元素的類型也是隨意的。
或許這就是面向?qū)ο笳Z言的強大,C語言做為面向過程的語言自然沒有如同Python一般強大的功能。學(xué)習(xí)C語言不會指針和結(jié)構(gòu)體確實玩不出什么東西,就例次CCF考試的字符串處理題使用C語言難度都很大,但是使用諸如C++一樣面向?qū)ο蟮恼Z言都是能輕而易舉地解決問題的。
不過為了讓以后處理C語言更加方便,個人打算今后在這記錄一些使用的函數(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)時第一個實驗就是與順序表處理相關(guān)的內(nèi)容,這里介紹的就是其中一個操作。
我們在這邊就可以先定義一個函數(shù),參數(shù)分別是數(shù)組名和數(shù)組長度:
void del_element(int arr[],int n) //n為數(shù)組的元素個數(shù)
數(shù)組的長度雖然需要我們自己給定,但是我們不必要直接寫出其具體的元素個數(shù),而直接先向數(shù)組中賦值。
int arr[]={1,4,5,7};
既然要刪除數(shù)組中的元素,我們就必須得先知道數(shù)組中有哪些元素。同時還要定義一個變量,并將需要刪除的元素賦值給那個變量。
int delect=0; printf("刪除操作前的數(shù)組:\n"); for(int k = 0;k<n;k++) { printf("%4d",arr[k]); } printf("\n"); printf("請輸入你要刪除的數(shù):"); scanf("%d",&delect);
下面就是重中之中,刪除這個元素的操作:
將要刪去的元素后面的元素往前移,那個要刪除的函數(shù)自然而然就被覆蓋掉了。
函數(shù)源代碼:
void del_element(int arr[],int n) //n為數(shù)組的元素個數(shù) { int delect=0; printf("刪除操作前的數(shù)組:\n"); for(int k = 0;k<n;k++) { printf("%4d",arr[k]); } printf("\n"); printf("請輸入你要刪除的數(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];//覆蓋 } } } }
下面我們在主函數(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; }
我們可以不需去計算數(shù)組元素個數(shù),而是使用sizeof(arr)/sizeof(int)
的方式計算數(shù)組長度。
操作過程與結(jié)果:
C語言雖然較為麻煩,但是我們?nèi)匀豢梢杂靡恍┖唵蔚姆椒▽崿F(xiàn)。
到此這篇關(guān)于C語言數(shù)組中刪除數(shù)組中某個值的方法的文章就介紹到這了,更多相關(guān)C語言數(shù)組中刪除數(shù)組中某個值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
stringstream操縱string的方法總結(jié)
下面小編就為大家?guī)硪黄猻tringstream操縱string的方法總結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12c++中將二維數(shù)組元素變換為逆向存放的實現(xiàn)代碼
編程將一個二維數(shù)組元素變換為逆向存放,即按元素在內(nèi)存中的物理排列位置,第一個元素變成倒數(shù)第一個元素,第二個元素變成倒數(shù)第二個元素,依此類推2020-11-11C++ 關(guān)于STL中sort()對struct排序的方法
本篇文章介紹了,關(guān)于STL中sort()對struct排序的方法。需要的朋友參考下2013-04-04C++算法之海量數(shù)據(jù)處理方法的總結(jié)分析
本篇文章是對海量數(shù)據(jù)處理方法進行了詳細的總結(jié)與分析,需要的朋友參考下2013-05-05C++實現(xiàn)折半插入排序(BinaryInsertSort)
這篇文章主要為大家詳細介紹了C++實現(xiàn)折半插入排序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-04-04