Thêm/Xóa phần tử trên mảng một chiều

14

Trong các bài viết trước chúng ta đã làm quen với các kiến thức về mảng một chiều. Các bạn có thể xem lại các bài viết này ở link bên dưới. Hôm nay chúng ta tiếp tục làm quen với thao tác, thêm, xóa phần tử trên mảng.

  1. Hướng dẫn Dev-C++ căn bản hoặc  Hướng dẫn Tạo Project Visual C++ trong Visual Studio 2012
  2. Lý thuyết Mảng một chiều
  3. Duyệt mảng một chiều
  4. Nhập xuất mảng một chiều

Hàm Thêm vào mảng một giá trị x tại vị trí vt (kiểm tra tính hợp lệ của vt)

  • Kiểm tra nếu k ∈[0, n] thì:
    • Dời các phần tử từ vị trí n-1 đến k lùi lại 1 vị trí.
    • Thêm x vào vị trí thứ k của mảng, tăng n thêm 1.

Hàm Xóa khỏi mảng một giá trị x

Để xóa một phần tử trong mảng ta phải Kiểm tra nếu x có tồn tại trong mảng thì:

  • Dời các phần tử sau x tới 1 vị trí.
  • Giảm n bớt 1.

 

14 COMMENTS

  1. [Hàm tìm phần t]:
    Nếu mà trong mảng có hai phần tử muốn tìm thì làm sao ạ?

    [Hàm xóa phần tử]
    Nếu trong mảng có hai phần tử giống nhau mà xóa thì như thế nào ạ?

    • #include “stdafx.h”
      #include
      using namespace std;
      int ktra(int a[], int n,int x)
      {
      for (int i = 0;i<n;i++)
      {
      if (a[i] == x)return i;
      }
      return -1;
      }
      void xoa(int a[], int &n, int x)
      {
      int m;
      int k = ktra(a, n, x);
      if(k!=-1)
      {
      for (int i = k;i> n >> x;
      k = n;
      for (int i = 0;i > a[i];
      }
      m = ktra(a, n, x);
      if (m == -1)cout << "Khong co trong mang.";
      else
      {
      for (int i = 0;i < k;i++)
      {
      xoa(a, n, x);
      }
      for (int i = 0;i < n;i++)
      {
      cout << a[i] << " ";
      }
      }
      system("pause");
      return 0;
      }
      Đây là code xóa phần tử x ( có bao nhiêu x xóa hết) trong mảng và xuất ra mảng mới.

  2. code như ad thì nếu vị cuối cùng của mảng là vị trí cần xóa … thì máy tính sẽ bị bốc khói khi chạy vì không tồn tại giá trị của a[i+1];

  3. mang co hai hoac nhieu phan tu giong nhau muon lay 1 don vi thoi thi lam tn ah:
    vidu: A[] = {1, 2, 2, 2, 3};
    kq: A[] = {1, 2, 3};
    ai biet chi minh voi.

LEAVE A REPLY