您好,登錄后才能下訂單哦!
這篇文章主要介紹C語言如何實現刪除某一個數組值,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
在家里閑著還是閑著,這幾天見證了Python
各種數據結構的強大。Python
中的數據類型如:列表、元組、字典等都具有其的特點。列表無需要設定其的長度,我們可以隨機插入元素,同時元素的類型也是隨意的。
或許這就是面向對象語言的強大,C語言做為面向過程的語言自然沒有如同Python一般強大的功能。學習C語言不會指針和結構體確實玩不出什么東西,就例次CCF考試的字符串處理題使用C語言難度都很大,但是使用諸如C++一樣面向對象的語言都是能輕而易舉地解決問題的。
python中我們可以輕易地使用如下的方法刪除特定的元素:
lang = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"] #使用正數索引 del lang[2] print(lang)
然而C語言一切東西都得靠自己搭建。在學習數據結構時第一個實驗就是與順序表處理相關的內容,這里介紹的就是其中一個操作。
我們在這邊就可以先定義一個函數,參數分別是數組名和數組長度:
void del_element(int arr[],int n) //n為數組的元素個數
數組的長度雖然需要我們自己給定,但是我們不必要直接寫出其具體的元素個數,而直接先向數組中賦值。
int arr[]={1,4,5,7};
既然要刪除數組中的元素,我們就必須得先知道數組中有哪些元素。同時還要定義一個變量,并將需要刪除的元素賦值給那個變量。
int delect=0; printf("刪除操作前的數組:\n"); for(int k = 0;k<n;k++) { printf("%4d",arr[k]); } printf("\n"); printf("請輸入你要刪除的數:"); scanf("%d",&delect);
下面就是重中之中,刪除這個元素的操作:
將要刪去的元素后面的元素往前移,那個要刪除的函數自然而然就被覆蓋掉了。
函數源代碼:
void del_element(int arr[],int n) //n為數組的元素個數 { int delect=0; printf("刪除操作前的數組:\n"); for(int k = 0;k<n;k++) { printf("%4d",arr[k]); } printf("\n"); printf("請輸入你要刪除的數:"); 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];//覆蓋 } } } }
下面我們在主函數中調用該函數:
int main() { int arr[]={1,4,5,7}; int length_arr = sizeof(arr)/sizeof(int); del_element(arr,length_arr); printf("完成操作后的數組:\n"); for(int i=0;i<length_arr-1;i++) { printf("%4d",arr[i]); } return 0; }
我們可以不需去計算數組元素個數,而是使用sizeof(arr)/sizeof(int)
的方式計算數組長度。
操作過程與結果:
C語言雖然較為麻煩,但是我們仍然可以用一些簡單的方法實現。
以上是“C語言如何實現刪除某一個數組值”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。