代码:
#include<iostream> using namespace std; int removeElement(int A[], int n, int elem) { int t = 0; for (int i = 0; i < n; i++){ if (A[i] == elem){ t++; } else { A[i - t] = A[i]; } } return n - t; } int main(){ int n, A[] = { 2, 2, 3, 4,2, 5, 6 }; n = removeElement(A, 7, 2); cout <<n<<endl; for (int i = 0; i < n; i++){ cout << A[i] << endl; } }
优秀代码:
1 int removeElement(int A[], int n, int elem) { 2 int begin=0; 3 for(int i=0;i<n;i++) if(A[i]!=elem) A[begin++]=A[i]; 4 return begin; 5 }
不同的角度,以后尝试这种角度考虑问题!