當前位置:首頁 » 編程語言 » 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();
}

熱點內容
百度雲7z解壓 發布:2024-11-27 22:41:36 瀏覽:711
哈利波特不同伺服器有什麼不同 發布:2024-11-27 22:33:45 瀏覽:77
鎖ip伺服器 發布:2024-11-27 22:31:48 瀏覽:176
腳本刷精粹 發布:2024-11-27 22:30:31 瀏覽:991
電腦定時清理文件的腳本 發布:2024-11-27 22:27:49 瀏覽:996
安卓系統傳奇哪個好玩 發布:2024-11-27 22:26:17 瀏覽:253
oracle存儲過程重命名 發布:2024-11-27 22:12:51 瀏覽:547
串口伺服器幾個ip 發布:2024-11-27 21:58:21 瀏覽:325
麥芒5腳本 發布:2024-11-27 21:45:33 瀏覽:848
dnf龍貓腳本 發布:2024-11-27 21:45:15 瀏覽:959