當前位置:首頁 » 編程語言 » c語言數組的刪除

c語言數組的刪除

發布時間: 2024-05-06 20:52:33

1. c語言數組元素的刪除與增加。

C語言中的數組本質上是在計算機內存中分配的連續空間。

如果需要對元素進行插入和刪除,並不能直接將內存中為該數組分配的空間進行插入/新增和刪除,而是只能通過數據復制的方式將本來不在這個位置的元素進行移動,看起來像是元素的前移和後移。

舉個例子吧:整型數組(1, 2, 3, 4, 5),如果要把2刪除,那麼可以將3,4,5分別向前移動,變成(1, 3, 4, 5, 5)。由於數組長度分配以後不會變化,因此最後一個多餘的5實際上並不能刪掉,它只是表示無意義的位置。因此對於編程人員來講,需要另一個參數來記錄這個數組中你認為有用的元素是前多少個。

值得注意的是,如果數組長度不足以保存新的元素時,是無法動態地增加數組長度的。如果非要這么做,必須要在數組分配時保證數組大小足夠大。這也就是一些新手經常將數組長度設置為1000,10000的原因。

回到這個問題:

//預定義的數組,長度為20
intarray[20]={0};
//數組當前有效長度
intarrayLen=0;

//如果不是全局數組,則需要將數組指針和數組長度指針傳入進行修改
voidinsertArray(intnewElement,intindex)
{
//這里沒有做數組長度的檢驗,你需要自己完成

inti;
for(i=arrayLen++;i>index;)
array[i--]=array[i-1];//後移

array[index]=newElement;
}

voiddeleteArrayElement(intindex)
{
for(;index<arrayLen;)
array[index++]=array[index+1];//前移。要刪除的位置會被直接覆蓋

arrayLen--;
}

2. C語言中怎麼刪除數組中的一個元素

方法:

刪除就是將其下標所在位置的中的內容置為空(也就是0),然後從此位置開始,後面的內容前移,再把最後那個位置的置為空(就是0)。

前移無非就是 類似 arr[ i - 1] = arr[ i ] 這個意思。

3. c語言:從數組中刪除數據怎麼做

#include<stdio.h>
#define N 10
void main( )
{
int a[N] , num ,i , *p , n=N;
int j;

/*輸入N個數到數組a中;*/
for(i=0;i<n;i++)
{
scanf(「%d」,&num);
a[i]=num;
}

/*在數組a中刪除指定的數num;*/
for(i=0;i<n;i++)
{
if(a[i] == num)
{
//a[i]=a[n];//如果不保留原數組里的順序,此一句即可代替下邊2行語句,同時省掉變數j

for(j=i;j<n-1;j++)
a[j]=a[j+1];

n--;
}
}

/*輸出刪除了num後的數組a;*/
for(i=0;i<n;i++)
printf("%d ",a[i]);

getchar();
}

熱點內容
怎樣給伺服器設置公網IP 發布:2025-09-08 21:00:10 瀏覽:386
李瑤媛訪問 發布:2025-09-08 20:57:28 瀏覽:873
安卓系統從哪裡打開控制面板 發布:2025-09-08 20:43:08 瀏覽:500
原核細胞有多少個起始密碼子 發布:2025-09-08 20:24:54 瀏覽:156
中配電腦伺服器 發布:2025-09-08 20:09:45 瀏覽:723
編譯oracle 發布:2025-09-08 20:02:19 瀏覽:150
python2014 發布:2025-09-08 20:01:08 瀏覽:662
友情拍攝腳本 發布:2025-09-08 20:01:00 瀏覽:92
我的世界最近新開的伺服器有地皮 發布:2025-09-08 19:58:44 瀏覽:525
怎麼設置列印伺服器zol問答 發布:2025-09-08 19:43:15 瀏覽:67