Ta có thể thực hiện thao tác thêm phần tử vào mảng qua 3 cách đó là:

1) Thêm vào đầu mảng;

2) Thêm vào cuối mảng;

3)Thêm vào giữa mảng.

Giã sử có mạng như hình dưới

Ta cần thêm vào  số 111 vào trong mảng và đặt nó nằm vị trí index = 7,  nghĩa là phần tử này sau khi được thêm vào mảng sẽ nằm ở giữa phần tử 77 và 88. Xem hình bên dưới

Ta cần thực hiện lùi tất cả các số phía sau nơi được thêm(bao gồm cả vị trí thêm) về phía sau 1 index sau đó tăng kích thước của mảng lên 1 đơn vị. Xem hình dưới để dễ hình dung hơn việc thêm một phần tử vào mảng:

Các bước thêm phần tử vào trong mảng một chiều

  • Nhập vào vị trí index và phần tử cần thêm vào mảng
  • Kiểm tra mảng đã đầy chưa, nếu đã đầy thì không thể thêm phần tử
  • Nếu địa chỉ bằng 0 thì thêm vào đầu, nếu địa chỉ bằng n thì thêm vào cuối (n ở đây là số lượng phần tử)
  • Dịch chuyển mảng từ vị trí cần thêm về bên trái 1 đơn vị
  • Sau khi đã dịch chuyển đến vị trí cần thêm, thực hiện thêm phần tử đó vào
  • Tăng kích thước mảng lên 1 đơn vị

Chương trình thêm phần tử vào mảng bằng ngôn ngữ C/C++

#include <stdio.h>
int main(){
    //khai bao kich thuoc mang n = 10
    int n = 10;
    //khai bao mang gom n phan tu
    int a[n] = {11,22,33,44,55,66,77,88,99,10};
    //phan tu can them vao mang
    int PhanTu = 111;
    //vi tri can them
    int index = 7;
    //neu index <= 0 thi gan index = 0 de them vao dau mang
    if(index <= 0){
        index = 0;
    }
    //neu index >= n thi gan index = n de them vao cuoi mang
    if(index >= n){
        index = n;
    }
    //dich chuyen cac phan tu 
    for(int i = n; i > index; i--){
        //dich chuyen phan tu sang ben trai
        a[i] = a[i-1];
    }
    //them phan tu 111 vao vi tri index 7
    a[index] = PhanTu;
    //tang kich thuoc mang len 1 don vi
    n++;
}

Hàm thêm phần tử vào mảng bằng ngôn ngữ C/C++

Hàm void ThemPhanTu(int a[], int index, int PhanTu, int &ndưới đây nhận các tham số là: int a[] là mảng cần thêm phần tử, int index là địa chỉ cần thêm, int PhanTu là giá trị cần thêm vào mảng và int &n là tham chiếu đến biến n số lượng phần tử của mảng để khi thực hiện thêm phần tử ta sẽ tăng biến n lên 1 đơn vị

#include <stdio.h>
void ThemPhanTu(int a[], int index, int PhanTu, int &n){
    //neu index <= 0 thi gan index = 0 de them vao dau mang
    if(index <= 0){
        index = 0;
    }
    //neu index >= 10 thi gan index = 10 de them vao cuoi mang
    if(index >= n){
        index = n;
    }
    //dich chuyen cac phan tu 
    for(int i = n; i > index; i--){
        //dich chuyen phan tu sang ben trai
        a[i] = a[i-1];
    }
    //them phan tu 111 vao vi tri index 7
    a[index] = PhanTu;
    //tang kich thuoc mang len 1 don vi
    n++;
}
int main(){
    //khai bao kich thuoc mang n = 10
    int n = 10;
    //khai bao mang 
    int a[n] = {11,22,33,44,55,66,77,88,99,10};
    //phan tu can them vao mang
    int PhanTu = 111;
    //vi tri can them
    int index = 7;
    //goi ham them phan tu truyen vao mang a,vi tri index can them, phan tu can them va  va so luong phan tu n cua mang
    ThemPhanTu(a,index, PhanTu, n);
}

By alaza7

Leave a Reply

Your email address will not be published. Required fields are marked *