Chèn bộ phận vào mảng là một bài toán vô cùng hay. Bài viết này mình sẽ share cho độc giả code chèn phần tử vào địa điểm k vào mảng C/C++.

Bạn đang xem: Chèn phần tử vào mảng 1 chiều


1.Giới thiệu bài toán

Bài toán số 17 rèn luyện lập trình mình chia sẻ cho chúng ta dưới đây có đề bài xích như sau:

Viết hàm chèn một phần tử x vào địa chỉ k trong mảng 1 chiều a tất cả n phần tử.

Hoặc bao gồm thể bạn sẽ gặp vấn đề chèn vào sau tuyệt trước vị trí k trong mảng. Biện pháp giải vấn đề đó không không giống gì đề bài bác trên.

Đánh giá: Một việc ở mức vận dụng trung bình và rất là hay. Các bạn sẽ nhận được tương đối nhiều thứ lúc tự mình hoàn thành bài tập này.

2.Giải quyết bài xích toán

Một câu hỏi ở mức vận dụng cơ bạn dạng đòi hỏi bạn nắm chắc kỹ năng và kiến thức của ngôn ngữ đặc biệt là vòng lặp for.

Câu hỏi này không thật khó về phương diện toán học, chỉ cần tư duy một tẹo là giải được nhé!

2.1 Hàm chèn thành phần x vào vị trí k mang đến trước

Nếu như ai đang làm vấn đề chèn x vào trước địa chỉ k thì nó tương tự với câu hỏi bạn bớt k đi một đối kháng vị sau đó chèn.

ngược lại bạn chèn x vào sau vị trí k thì đối kháng giản, tăng k lên một đối kháng vị tiếp nối chèn.

Ý tưởng giải bài toán:

Khi thêm một trong những phần tử điều trước tiên là chúng ta cần yêu cầu tăng tổng số thành phần của mảng lên.Dùng vòng for duyệt từ lúc cuối mảng tới địa chỉ k (>k). Phần tử đứng sau gán bằng bộ phận đứng trước tức là a=aGán a=x

Với phát minh giải của mình trên mình bao gồm hàm chèn x vào vị trí k như sau:


void InsertX(int a<>, int &n, int x, int k)n++;for(int i=n-1;i>k;i--)a=a;a=x;
hàm này áp dụng được cho tất cả hai ngữ điệu C và C++.

Tương tự mình đã viết hàm chèn x vào trước k với sau nhé!

Chèn trước:


void InsertX(int a<>, int &n, int x, int k)n++;for(int i=n-1;i>k-1;i--)a=a;a=x;
Chèn sau:


void InsertX(int a<>, int &n, int x, int k)n++;for(int i=n-1;i>k+1;i--)a=a;a=x;
Bạn dựa vào gợi ý về ý tưởng phát minh làm bài xích của mình hoàn toàn có thể dùng vào nhiều trường phù hợp khác nhau.

Xem thêm: Bài Tập Thì Hiện Tại Đơn Và Hiện Tại Tiếp Diễn Có Đáp Án Và Giải Chi Tiết

2.2 Chương chình chèn phần tử x vào vị trí k

Để kết thúc chương trình, chúng ta lắp thêm cấu tạo nhập xuất mảng (làm việc với mảng). Viết thêm phần nhập x và k là bao gồm chương trình hoàn thiện

Code C++:


#includeusing namespace std;void nhap(int a<>, int &n)docout>n;while(n99);for(int i=0; i>a;}void xuat(int a<>, int n)for(int i=0;ik;i--)a=a;a=x;int main(){int a<100>;int n, x,k;nhap(a,n);cout>x;cout>k;InsertX(a,n,x,k);cout
Kết quả lúc chạy chương trình trên:


*

Trong ví dụ, mình đã chèn số 3 vào vị trí 2. Số 4 đã bị đẩy về phía sau.

Bài viết đến đó là hết, cảm ơn chúng ta đã thân thiện bài viết. Đừng bỏ lỡ nội dung bài viết tiếp theo nhé!