Thuật Toán Thêm/ Xóa Phần Tử Trong Mảng 1 Chiều - Java

Thủ thuật lập trình java
  • Home
  • Tutorial
  • OPP
  • Example
  • Algorithm
  • Android

Saturday, April 25, 2020

Home / thuat-toan / Thuật toán Thêm/ xóa phần tử trong mảng 1 chiều Thuật toán Thêm/ xóa phần tử trong mảng 1 chiều thuat-toan Mảng một chiều là một dãy hữu hạn các phần tử có cùng kiểu. Mảng được đặt tên và mỗi phần tử mang một chỉ số. Để mô tả mảng một chiều cần xác định kiểu của các phần tử và cách đánh chỉ số các phần tử. Thuật toán Thêm/ xóa phần tử trong mảng 1 chiều Đầu tiên, bạn hãy xử lý xong phần nhập xuất mảng nhé. Chúng ta bắt buộc phải sử dụng nhập/ xuất mảng để sử dụng trong quá trình thêm xóa phần tử mảng.
void NhapMang(int a[], int n){ for(int i = 0;i < n; i++){ printf("Nhap so thu %d: ", i); scanf("%d", &a[i]); } } void XuatMang(int a[], int n){ for(int i = 0;i < n; i++){ printf("%4d", a[i]); } }
Sau đây là thuật toán thêm phần tử vào mảng 1 chiều Bạn có thể hình dung cách thêm 1 phần tử vào mảng qua hình ảnh dưới đây nhé. Thuật toán Thêm/ xóa phần tử trong mảng 1 chiều Quy trình thêm phần tử vào mảng:
  • Kiểm tra mảng có thể thêm được phần tử nữa không? Nếu không, thoát hàm
  • Kiểm tra giá trị pos hợp lệ không. Ở đây nếu không hợp lệ mình cho về chỉ số đầu/cuối.
  • Thực hiện dịch chuyển mảng(phần phía sau nơi chèn + vị trí chèn)
  • Chèn vào vị trí cần chèn
  • Tăng số lượng phần tử
void ThemPhanTu(int a[], int &n, int val, int pos){ if(n >= MAX){ return; } if(pos < 0){ pos = 0; } else if(pos > n){ pos = n; } for(int i = n; i > pos; i--){ a[i] = a[i-1]; } a[pos] = val; ++n; }
Thuật toán Xóa phần tử trong mảng 1 chiều Bạn có thể hình dung cách xóa 1 phần tử trong mảng qua hình ảnh dưới đây nhé. Quy trình xóa phần tử trong mảng:
  • Kiểm tra có thể xóa hay không? Nếu không => thoát hàm
  • Kiểm tra giá trị pos hợp lệ không. Ở đây nếu không hợp lệ mình cho về chỉ số đầu/cuối.
  • Dịch chuyển mảng lùi 1 chỉ số – phần phía sau nơi xóa
  • Giảm số lượng phần tử
void XoaPhanTu(int a[], int &n, int pos){ if(n <= 0){ return; } if(pos < 0){ pos = 0; } else if(pos >= n){ pos = n-1; } for(int i = pos; i < n - 1; i++){ a[i] = a[i+1]; } --n; }
Read more Share This: Facebook Twitter Google+ Pinterest Linkedin thuat-toan

No comments:

Post a Comment

Newer Post Older Post Home Subscribe to: Post Comments (Atom)

Best Fruit Juicer

Link Download Ứng Dụng

Thể Loại

Android Lap-trinh-C java-example java-huong-doi-tuong java-tutorial thuat-toan

Giới Thiệu

Blog lập trình JAVA là một blog chia sẽ cho các bạn những Bài tập lập trình java bên cạnh đó sẽ cung cấp những kiến thức cơ bản cho các bạn nắm vững về kiến thức để làm việc thật tốt, chúng tôi không dùng lại ở đó nên chúng tôi cũng cung cấp một số chủ đề liên quan để các bạn có thể năm bắt được.

LIÊN KẾT

Lập trình java → Java hướng đối tượng → Bài tập java → Java cơ bản → Ứng dụng Android → Tubemate → Photowonder → Hình nền 4K → Hình nền điện thoại→Thủ thuật điện thoại

Chia sẽ thủ thuật

Liên Hệ

Name Email * Message * @2019/06 Bản quyền thuộc Thủ thuật 1001 Created By SoraTemplates & Blogspot Template

Từ khóa » Xóa Phần Tử Trong Mảng 1 Chiều Java