回覆列表
  • 1 # 佳期如夢將至

    array也就是陣列,要刪除陣列中的某一個元素,由於陣列的連續性,不可能直接刪除掉對應的儲存空間,所以唯一的方法就是用陣列後續元素覆蓋要刪除的元素。即從要刪除元素下一個元素開始,一直到陣列結束,每個元素均向前移動一位。以下是刪除一個數組中某個元素的模板函式:

    template <class T> int remove_from_array(T *a, int n, int &l)//從陣列a中刪除第n個元素。l為陣列原始長度,引用傳參,所以可以將新的長度帶回主調函式。如果成功,函式返回0,否則函式返回-1。 { if(a == NULL || n<0 || l < 0 || n>=l)return -1; int i; for(i = n; i < l-1; i ++) { a[i] = a[i+1];//依次用後續一個元素覆蓋前一個元素,直到陣列尾。 } l--; return 0; }

  • 中秋節和大豐收的關聯?
  • 4個月大的寶寶臉上長溼疹怎麼辦?