Nhập Xuất Trong Mảng Danh Sách Kề Trong C/C++ - Lập Trình Từ Đầu
Có thể bạn quan tâm
Mảng cần duyệt của tôi là một mảng chứa các phần tử: 1,2,3,4,5,6,7,8,9,10,11 (xem hình bên dưới)

Để thực hiện duyệt danh sách trên tôi sẽ xuất phát từ phần tử đầu tiên trong danh sách và tăng chỉ số dần đến cuối danh sách. Việc này cũng có thể hiểu là đi từ đầu đến chính phần tử cuối cùng của danh sách (xem hình bên dưới) 
Hàm void DuyetDS(DSKe ds) duới đây nhận đầu vào là DSKe ds chính là danh sách cần duyệt các phần tử. Hàm này sẽ thực hiện duyệt từ vị trí p = 0 (đầu danh sách) cho đến vị trí p < ds.n (cuối danh sách)
void DuyetDS(DSKe ds){ //duyet tu phan tu dau tien int p = 0; //chua den dia chi cuoi cung trong danh sach thi tiep tuc duyet while (p<ds.n){ //Xu ly cac phan tu duoc xet printf("%d ",ds.A[p]); //tang den vi tri den phan tu tiep theo trong danh sach p++; } }Chú ý:
- Vì đây là hàm duyệt nên tham số DSKe ds được chuyền vào hàm không cần chuyền theo kiểu tham chiếu DSKe &ds
Trước tiên để duyệt danh sách, thì ta phải đảm bảo rằng trong danh sách đã có một số phần tử nhất định nào đó. Vì thế ta cần chèn một số phần từ vào trong danh sách trước.
Ở đây tôi sẽ chèn một vài phần tử là số nguyên int vào danh sách theo cách chèn cuối (gọi hàm void ChenCuoi(ds,x))
#include <stdio.h> #define MAX 100 //dinh nghia so luong phan tu cua mang co the luu tru typedef struct DSKe{ //mang int a voi kich thuoc MAX = 100 int A[MAX]; //quan ly so luong N phan tu int n; }DSKe; //khai bao ham khoi tao void KhoiTao(DSKe &ds){ //ban dau danh sach la rong (n = 0) ds.n = 0; } int KiemTraRong(DSKe ds){ //neu ds.n == 0 thi rong if (ds.n==0){ return 1; } return 0; } int KiemTraDay(DSKe ds){ //neu ds.n == MAX thi da day if (ds.n == MAX){ return 1; } return 0; } void ChenCuoi(DSKe &ds, int x){ //neu day thi khong duoc phep chen if (KiemTraDay(ds)==1){ return; } //truy cap vao phan tu cuoi cung cua danh sach va chen X vao ds.A[ds.n]=x; //tang phan tu trong danh sach len ds.n += 1; } void DuyetDS(DSKe ds){ //duyet tu phan tu dau tien int p = 0; //chua den dia chi cuoi cung trong danh sach thi tiep tuc duyet while (p<ds.n){ //Xu ly cac phan tu duoc xet printf("%d ",ds.A[p]); //tang den vi tri den phan tu tiep theo trong danh sach p++; } } int main(){ //khai bien ds co kieu DSKe DSKe ds; //dua ds vao ham khoitao KhoiTao(ds); //nhap N so luong phan tu cua danh sach can chen int n; printf("Nhap N: "); scanf("%d", &n); //nhap gia tri cho tung phan tu X for(int i = 0; i < n; i++){ int x; printf("Nhap phan tu thu [%d] trong danh sach: ",i); scanf("%d",&x); //chen gia tri cua cac phan tu vao danh sach theo cach chen cuoi ChenCuoi(ds,x); } //goi ham duyet danh sach printf("\nDANH SACH SAU KHI DUOC DUYET LA\n"); DuyetDS(ds); }| Nhap N: 11 Nhap phan tu thu [0] trong danh sach: 1 Nhap phan tu thu [1] trong danh sach: 2 Nhap phan tu thu [2] trong danh sach: 3 Nhap phan tu thu [3] trong danh sach: 4 Nhap phan tu thu [4] trong danh sach: 5 Nhap phan tu thu [5] trong danh sach: 6 Nhap phan tu thu [6] trong danh sach: 7 Nhap phan tu thu [7] trong danh sach: 8 Nhap phan tu thu [8] trong danh sach: 9 Nhap phan tu thu [9] trong danh sach: 10 Nhap phan tu thu [10] trong danh sach: 11 DANH SACH SAU KHI DUOC DUYET LA 1 2 3 4 5 6 7 8 9 10 11 |
Từ khóa » Nhập Xuất C
-
Định Dạng Nhập Xuất Trong C
-
Bài 7. Nhập Xuất Trong C - Lập Trình Không Khó
-
Nhập Xuất Cơ Bản Trong C — Modern C++ - STDIO
-
Nhập Xuất Cơ Bản Trong C/C++ — Modern C++ - STDIO
-
Nhập Xuất Mảng Trong C
-
Lập Trình C: Bài 3 - Nhập Xuất Trong C - Cách Học - Nguyễn Văn Quân
-
Nhập, Xuất Mảng Các Số Thực Bằng C / C++ - Freetuts
-
[C Programming] Nhập/xuất Trong C - Code Lean
-
Nhập Xuất Mảng Trong C/C++ | Lập Trình Từ Đầu
-
Nhập, Xuất Và Định Dạng Dữ Liệu Trong C++ (Input And Output)
-
[Tự Học Lập Trình C] Nhập Xuất Dữ Liệu Trong Ngôn Ngữ Lập Trình C
-
Bài Tập C++ Có Lời Giải/Nhập Xuất Dữ Liệu - Wikibooks
-
Nhập Xuất Trong C++ - Bắt Đầu Lập Trình - Batdaulaptrinh