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 &n) dướ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);
}
nếu lấy mã mà mã báo sai, thì điền mã là chổ Mã code là như hình sau ở bước 4
, các trường hợp khác đọc kỹ hướng dẫn trong link để vượt
ở cuối trang, hay nút màu XANH
ở gần giữa trang, coi chừng nhầm nút