Mô tả các tác vụ trên hàng đợi:
initialize
Chức năng: Khởi động hàng đợi.
Dữ liệu nhập: không.
Dữ liệu xuất: front và tail được gán giá trị phù hợp.
empty:
Chức năng: Kiểm tra hàng đợi có bị rỗng không.
Dữ liệu nhập: không.
Dữ liệu xuất True or False. (true khi hàng đợi rỗng, false khi hàng đợi không rỗng)
insert:
Chức năng: thêm nút mới vào cuối hàng đợi.
Dữ liệu nhập: nút mới.
Điều kiện: hàng đợi không bị đầy.
Dữ liệu xuất: không.
remove
Chức năng: xóa nút ở đầu hàng đợi.
Dữ liệu nhập: không.
Điều kiện: hàng đợi không bị rỗng.
Dữ liệu xuất: nút bị xóa.
queuefront:
Chức năng truy xuất nút ở đầu hàng đợi.
Dữ liệu nhập: không.
Điều kiện: hàng đợi không bị rỗng.
Dữ liệu xuất: nút tại đầu hàng đợi.
queuetail:
Chức năng truy xuất nút tại cuối hàng đợi.
Dữ liệu nhập: không.
Điều kiện: hàng đợi không bị rỗng.
Dữ liệu xuất: nút tại cuối hàng đợi.
queue size:
Chức năng: xác định số nút hiện có trong hàng đợi.
Dữ liệu nhập: không.
Dữ liệu xuất:số nút có trong hàng đợi.
clearqueue:
Chức năng: xóa tất cả các nút có trong hàng đợi.
Dữ liệu nhập: không.
Dữ liệu xuất: front và tail với giá trị phù hợp.
Mô tả các tác vụ trên stack
initialize
Chức năng: Khởi động stack
Dữ liệu nhập: Không
Dữ liệu xuất: stack top về vị trí khởi đầu.
empty:
Chức năng kiểm tra stack có bị rỗng không.
Dữ liệu nhập: Không
Dữ liệu xuất: True or False (True: khi stack rỗng, False: stack không bị rỗng).
pusth
Chức năng: thêm nút mới tại đỉnh stack
Dữ liệu nhập: nút mới.
Dữ liệu xuất: không
pop
Chức năng: xóa nút tại đỉnh stack.
Dữ liệu nhập: Không.
Điều kiện: stack không bị rỗng.
Dữ liệu xuất: nút bị xóa.
Stacktop:
Chức năng: truy xuất nút tại đỉnh stack.
Dữ liệu nhập: Không.
Điều kiện: stack không bị rỗng.
Dữ liệu xuất: nút tại đỉnh stack.
Stacksize
Chức năng: xác định số nút hiện có trong stack.
Dữ liệu: Không.
Dữ liệu xuất: số nút hiện có trong stack.
Clearstack:
Chức năng: xóa tất cả các nút ở trong stack.
Dữ liệu nhập: không.
Dữ liệu xuất:stack top về vị trí khởi đầu.
copystack:
Chức năng: copystack thành stack thành stack mới.
Dữ liệu nhập: stack nguồn.
Dữ liệu xuất: stack đích giống stack nguồn.
Một số câu hỏi thường gặp
initialize
Chức năng: Khởi động hàng đợi.
Dữ liệu nhập: không.
Dữ liệu xuất: front và tail được gán giá trị phù hợp.
empty:
Chức năng: Kiểm tra hàng đợi có bị rỗng không.
Dữ liệu nhập: không.
Dữ liệu xuất True or False. (true khi hàng đợi rỗng, false khi hàng đợi không rỗng)
insert:
Chức năng: thêm nút mới vào cuối hàng đợi.
Dữ liệu nhập: nút mới.
Điều kiện: hàng đợi không bị đầy.
Dữ liệu xuất: không.
remove
Chức năng: xóa nút ở đầu hàng đợi.
Dữ liệu nhập: không.
Điều kiện: hàng đợi không bị rỗng.
Dữ liệu xuất: nút bị xóa.
queuefront:
Chức năng truy xuất nút ở đầu hàng đợi.
Dữ liệu nhập: không.
Điều kiện: hàng đợi không bị rỗng.
Dữ liệu xuất: nút tại đầu hàng đợi.
queuetail:
Chức năng truy xuất nút tại cuối hàng đợi.
Dữ liệu nhập: không.
Điều kiện: hàng đợi không bị rỗng.
Dữ liệu xuất: nút tại cuối hàng đợi.
queue size:
Chức năng: xác định số nút hiện có trong hàng đợi.
Dữ liệu nhập: không.
Dữ liệu xuất:số nút có trong hàng đợi.
clearqueue:
Chức năng: xóa tất cả các nút có trong hàng đợi.
Dữ liệu nhập: không.
Dữ liệu xuất: front và tail với giá trị phù hợp.
Mô tả các tác vụ trên stack
initialize
Chức năng: Khởi động stack
Dữ liệu nhập: Không
Dữ liệu xuất: stack top về vị trí khởi đầu.
empty:
Chức năng kiểm tra stack có bị rỗng không.
Dữ liệu nhập: Không
Dữ liệu xuất: True or False (True: khi stack rỗng, False: stack không bị rỗng).
pusth
Chức năng: thêm nút mới tại đỉnh stack
Dữ liệu nhập: nút mới.
Dữ liệu xuất: không
pop
Chức năng: xóa nút tại đỉnh stack.
Dữ liệu nhập: Không.
Điều kiện: stack không bị rỗng.
Dữ liệu xuất: nút bị xóa.
Stacktop:
Chức năng: truy xuất nút tại đỉnh stack.
Dữ liệu nhập: Không.
Điều kiện: stack không bị rỗng.
Dữ liệu xuất: nút tại đỉnh stack.
Stacksize
Chức năng: xác định số nút hiện có trong stack.
Dữ liệu: Không.
Dữ liệu xuất: số nút hiện có trong stack.
Clearstack:
Chức năng: xóa tất cả các nút ở trong stack.
Dữ liệu nhập: không.
Dữ liệu xuất:stack top về vị trí khởi đầu.
copystack:
Chức năng: copystack thành stack thành stack mới.
Dữ liệu nhập: stack nguồn.
Dữ liệu xuất: stack đích giống stack nguồn.
Một số câu hỏi thường gặp
- Code:
[color=black]Bổ sung phần tử vào ngăn xếp
void Push(stack *s, int x){
if (StackFull(*s)){
printf(“Ngan xep day !”);
return;
}else{
s-> top ++;
s-> nut[s-> top] = x;
return;[/color]
}
- Code:
T[color=black]hao tác lấy 1 phần tử ra khỏi ngăn xếp.
int Pop(stack *s){
if (StackEmpty(*s)){
printf(“Ngan xep rong !”);
}else{
return s-> nut[s-> top--];
}
} [/color]
- Code:
[color=black]Thêm 1 phần tử vào hàng đợi.
void Put(queue *q, int x){
if (q-> count == MAX)
printf(“Hang doi day !”);
else{
if (q->tail == MAX-1 )
q->tail=0;
else
(q->tail)++;
q->node[q->tail]=x;
q-> count++;
}
return;[/color]
- Code:
[color=black]Sử dụng danh sách liên kết để biểu diễn 1 đa thức.
struct node{
double heso;
int luythua;
struct node *next;
};
typedef struct node *listnode[/color]