刪除零元素
從鍵盤讀入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
- removeChild()刪除li元素REM
- JavaScript刪除陣列元素JavaScript陣列
- JavaScript 建立和刪除元素JavaScript
- jQuery刪除指定子元素jQuery
- jQuery刪除指定li元素jQuery
- c++ map刪除元素C++
- c++ vector刪除元素C++
- JavaScript 刪除陣列指定元素JavaScript陣列
- jQuery如何刪除元素節點jQuery
- jQuery 刪除當前li元素jQuery
- JavaScript 刪除指定的li元素JavaScript
- JavaScript刪除array陣列元素JavaScript陣列
- STL.vector容器刪除單個元素、部分元素、全部元素
- js刪除執行元素下所有的子元素JS
- JavaScript 刪除陣列重複元素JavaScript陣列
- JavaScript 動態新增與刪除元素JavaScript
- JavaScript 陣列新增或者刪除元素JavaScript陣列
- jQuery為元素新增和刪除classjQuery
- Remove Duplicate Letters 刪除重複元素REM
- JavaScript陣列刪除重複元素JavaScript陣列
- JavaScript刪除陣列中指定元素JavaScript陣列
- jQuery如何新增和刪除元素jQuery
- Java ArrayList刪除特定元素的方法Java
- Array · 刪除陣列中指定的元素陣列
- PHP 刪除陣列中元素的方式PHP陣列
- 刪除內聯元素之間的空隙
- JavaScript動態新增或者刪除HTML元素JavaScriptHTML
- 根據陣列的值刪除元素陣列
- J2SE-刪除List集合元素
- jQuery刪除具有指定文字的li元素jQuery
- js刪除陣列指定索引的元素JS陣列索引
- jquery刪除指定元素程式碼例項jQuery
- javascript刪除陣列元素的程式碼JavaScript陣列
- javascript刪除元素節點removeChild()函式JavaScriptREM函式