c語言函數(shù)刪除數(shù)組 c語言中如何刪除數(shù)組中的某個(gè)元素

C語言刪除數(shù)組指定元素

C語言刪除數(shù)組指定元素的源代碼如下:

吉隆網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)于2013年開始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

#include stdio.h

main()

{

char s[80],c;

int j,k;

printf("\nEnter a string: ");

gets(s);

printf("\nEnter a character: ");

c=getchar( );

for(j=k=0;s[j]!= '\0';j++)

if(s[j]!=c)

s[k++]=s[j];

s[k]= '\0';

printf("\n%s\n",s);

system("pause");

}

擴(kuò)展資料

自定義函數(shù)代碼如下

function delarrayval2($arr,$v){

$keyarr = array_keys($arr, $v);

if(count($keyarr)){

foreach ($keyarr as $key) {

unset($arr[$key]);

}

}

return $arr;

}

C語言中怎么刪除數(shù)組中的一個(gè)元素

方法:

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

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

當(dāng)可以確認(rèn)數(shù)組中存放的都是整數(shù),你可以將這個(gè)元素置為-1表示刪除。增加就是先檢查你的數(shù)組中有沒有-1的元素,如果有,就設(shè)置為你的值。如果全部都滿了,就開一個(gè)更大的數(shù)組,把數(shù)據(jù)拷貝過去。把相應(yīng)位后面的一次前移一位,就是實(shí)現(xiàn)了刪除操作,可以用個(gè)for循環(huán)就可以實(shí)現(xiàn)了。

數(shù)組的內(nèi)存分配:變量在內(nèi)存中是從大到小尋址的(內(nèi)存中以字節(jié)為單位),比如00000000 00000000 00000000 00001010在內(nèi)存中,00001010的地址是最小的;而數(shù)組則有些不同,數(shù)組的元素自然的從上往下排列 存儲(chǔ),整個(gè)數(shù)組的地址為首元素的地址。 (但是組成元素的字節(jié)還是按從大到?。?。

用c語言函數(shù)刪除數(shù)組中的數(shù)據(jù)

既然是數(shù)組,表示數(shù)據(jù)為線性陣列了,想刪除其中一個(gè)數(shù)據(jù),是不可能的,只能用該位置以后的數(shù)據(jù)整體平移一個(gè)位置覆蓋當(dāng)前位置。例如:數(shù)組數(shù)據(jù) 1 2 3 4 5 6 7,想刪除3,那么得到的新數(shù)組為1 2 4 5 6 7,其中 4 5 6 7 數(shù)據(jù)的位置相對(duì)原始數(shù)組位置整體平移減小1。

當(dāng)然想是想快速刪除數(shù)據(jù),可以考慮使用數(shù)據(jù)鏈表,對(duì)數(shù)組單鏈即可

C語言,刪除數(shù)組元素

void main()

{

int i,j,n;

int a[10];

int k=0; //記錄刪除數(shù)據(jù)的個(gè)數(shù)

printf("請(qǐng)輸入需要?jiǎng)h除的數(shù):\n");

scanf("%d",n);

printf("請(qǐng)輸入10個(gè)元素的數(shù)組: \n");

for (i=0;i10;i++)

scanf("%d",a[i]);

for (i=0;i10;i++)

if (a[i]==n)

{

for (j=0;i+j9;j++)

a[i+j]=a[i+j+1];

k++;//刪除數(shù)據(jù)的個(gè)數(shù)加1

a[10-k] = 0; //清除最后一個(gè)已經(jīng)前移過的數(shù)據(jù)

}

for (i=0;i10-k;i++)//輸出剩余的數(shù)據(jù),后面的數(shù)據(jù)為0代表已經(jīng)被刪除的無意義數(shù)據(jù),不必再輸出了。

printf("%5d",a[i]);

}

網(wǎng)頁標(biāo)題:c語言函數(shù)刪除數(shù)組 c語言中如何刪除數(shù)組中的某個(gè)元素
轉(zhuǎn)載來于:http://www.muchs.cn/article32/doejcpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、面包屑導(dǎo)航、、標(biāo)簽優(yōu)化搜索引擎優(yōu)化、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)