刪除零元素
從鍵盤讀入n個整數放入陣列中,編寫函式CompactIntegers,刪除陣列中所有值為0的元素,其後元素向陣列首端移動。注意,CompactIntegers函式需要接受陣列及其元素個數作為引數,函式返回值應為刪除操作執行後陣列的新元素個數。輸出刪除後陣列中元素的個數並依次輸出陣列元素。
樣例輸入:(輸入格式說明:5為輸入資料的個數,3 4 0 0 2 是以空格隔開的5個整數)
5
3 4 0 0 2
樣例輸出:(輸出格式說明:3為非零資料的個數,3 4 2是以空格隔開的3個非零整數)
3
3 4 2
樣例輸入
7
0 0 7 0 0 9 0
樣例輸出
2
7 9
樣例輸入
3
0 0 0
樣例輸出
0
此題關鍵是對陣列中元素個數的控制,如何有效的處理兩個連續的0,也是演算法設計的重點。
參考程式碼如下:
#include <stdio.h>
void CompactIntegers(int a[], int n)
{
int i,j;
i=0;
while(i<n)
{
if(a[i]==0)
{
for(j=i;j<n;j++)
a[j]=a[j+1];
n--;
}
else
i++;
}
printf("%d\n",n);
for(i=0;i<n;i++)
printf("%d ",a[i]);
putchar('\n');
}
int main()
{
int n,i;
int *a;
scanf("%d",&n);
a=new int [n];
for(i=0;i<n;i++)
scanf("%d",a+i);
CompactIntegers(a, n);
return 0;
}
相關文章
- 建立元素和刪除元素
- jQuery刪除元素jQuery
- jQuery 刪除元素jQuery
- HashMap 之元素刪除HashMap
- JavaScript刪除陣列元素JavaScript陣列
- JavaScript 刪除陣列指定元素JavaScript陣列
- JavaScript刪除array陣列元素JavaScript陣列
- STL.vector容器刪除單個元素、部分元素、全部元素
- JavaScript 陣列新增或者刪除元素JavaScript陣列
- JavaScript陣列刪除重複元素JavaScript陣列
- jQuery為元素新增和刪除classjQuery
- JavaScript 刪除陣列重複元素JavaScript陣列
- JavaScript 動態新增與刪除元素JavaScript
- Remove Duplicate Letters 刪除重複元素REM
- 刪除內聯元素之間的空隙
- JavaScript動態新增或者刪除HTML元素JavaScriptHTML
- jQuery點選按鈕刪除div元素jQuery
- jQuery刪除具有指定文字的li元素jQuery
- J2SE-刪除List集合元素
- JavaScript動態新增和刪除div元素JavaScript
- Python列表刪除元素的方法有哪些?Python
- Array · 刪除陣列中指定的元素陣列
- ArrayList元素的刪除(4種函式)函式
- 根據陣列的值刪除元素陣列
- PHP 刪除陣列中元素的方式PHP陣列
- 【編測編學】零基礎學python_07_列表(修改、新增和刪除元素)Python
- JavaScript刪除元素節點程式碼例項JavaScript
- PHP從陣列中刪除元素的方法PHP陣列
- list增強for迴圈刪除元素報錯
- Python 中刪除列表元素的三種方法Python
- for迴圈無法刪除陣列所有指定元素陣列
- ES6刪除字串中重複的元素字串
- Python優雅遍歷字典刪除元素的方法Python
- JS刪除陣列裡的某個元素方法JS陣列
- 【廖雪峰python入門筆記】list刪除元素_pop()Python筆記
- 增強for為什麼不能刪除集合裡的元素
- JavaScript 拼接多個陣列並刪除重複元素JavaScript陣列
- O(1) 時間插入、刪除和獲取隨機元素,允許元素重複隨機
- Python刪除列表元素的3種方法,你都會嗎?Python