Cú pháp: void *calloc(n, sizeof(Kiểu dữ liệu); struct sinhvien { char masv[10]; char htsv[30]; … }; sinhvien *q; /* Cấp phát vùng nhớ có thể chứa được 10 bản ghi sinhvien */ q=(struct sinhvien*)calloc(10, sizeof(struct sinhvien)); b. Hàm realloc(): Được dùng để ...
Float b; void *p, *q; p=&a; //p trỏ tới địa chỉ biến a có kiểu int q=&b; //q trỏ tới địa chỉ biến b có kiểu float printf(a=%d, *(int *)p); //sử dụng phép ép kiểu printf(a=%d, *(float *)q); } 3. Các phép toán trên biến con trỏ 3.1. Toán tử ...
If (a[i][j] 1) printf("%3d;",j); } getch(); } 2.2. Biểu diễn đồ thị bằng danh sách kề. Phương pháp này dùng n danh sách liên kết cho n đỉnh của đồ thị, mỗi danh sách liên kết của một đỉnh sẽ chứa tất cả các đỉnh khác kề với ...
Cây nhị phân tương ứng: / * - + - 3 8 5 7 6 4 Hình 6.13 : Cây nhị phân biểu diễn biểu thức số học Tương ứng với các phép duyệt cây ta có các biếu thức số học theo các dạng ký pháp Ba Lan: - Duyệt cây theo thứ tự trước (dạng tiền ...
1.2. Một số khái niệm của cây - Cấp (degree): Số các con của một nút gọi là cấp của nút đó (hình 6.1: A có 3 con là cấp 3). o Nút có cấp bằng không (nút không có con) gọi là lá (Leaf) (hinh 6.1: E,F,C,. là lá) o Cấp cao nhất của nút có ...
CÂU HỎI VÀ BÀI TẬP CUỐI CHƯƠNG 4 1) Viết chương trình thực hiện công việc sau: a. Viết hàm tạo ngẫu nhiên một dãy số nguyên khoảng 100 số (gồm các số nguyên từ 1 đến 100. b. Viết hàm hiện dãy số ra màn hình. c. Viết 5 hàm sắp xếp ...
5. Phương pháp sắp xếp nổi bọt (Bubble sort). 5.1. Ý tưởng giải thuật Bubble sort. Xuất phát từ khóa cuối dãy (Kn-1), So sánh khóa này với các khóa đứng trước, nếu gặp khóa lớn hơn thì đổi chỗ 2 khóa này cho nhau. Như vậy trong lượt ...
9) Hãy sử dụng các thao tác của Stack để viết chương trình chuyển đổi một số hệ 10 sang một hệ khác (hệ 2, hệ 8, hệ 16). Cài đặt Stack theo mảng và theo danh sách liên kết. 10) Viết hàm đảo ngược một Stack. 11) Viết hàm đảo ngược ...
}; c. Kiểm tra xem Queue có rỗng không. Queue rỗng khi biến count có giá trị nhỏ hơn hay bằng 0. Hàm Empty trả ra giá trị 1 (TRUE) nếu Queue rỗng và giá trị 0 (FALSE) nếu Queue không rỗng. int Empty(Queue Q) { return (Q.count <= 0); } d. Kiểm tra xem Queue ...
- Trường hợp Stack không đầy: • Tăng giá trị biến top thêm 1 phần tử • Đưa giá trị mới vào biến info Cài đặt giải thuật: void Push ( Stack *S, ItemType x) { if (Full(*S)) printf(\n Stack day); else { } } S->top ++; S->info[S->top] = x; f. Lấy ...
Void initializeListD (DoubleListnode *L, DoubleListnode *R,) { *L=*R=NULL; } b. Tạo và cấp phát bộ nhớ cho một nút Muốn tạo và cấp phát bộ nhớ cho một nút mới ta cần xin máy cấp phát số ô nhớ đủ cho một nút thông qua các câu lệnh sau: Giải ...
Cài đặt giải thuật. // ham chen sau nut cuoi void InsertEnd ( listnode *P, ElementType x) { listnode q, m; q= newnode(x); if (*P NULL) *P=q; else { m=*P; while (m->link != NULL) m=m->link; m->link=q; } } e. Chèn một nút mới vào trước nút R trong danh sách. Thao tác ...
Trang 51, Trang 52, Trang 53, Trang 54, Trang 55, Trang 56, Trang 57, Trang 58, Trang 59, Trang 60,