––––•(-• (Last † Kill) •-)•––––


    Stack và Queue

    Share

    Admin
    Admin

    Tổng số bài gửi : 58
    Join date : 05/05/2011
    Age : 26

    Stack và Queue

    Bài gửi  Admin on Wed May 25, 2011 7:31 am

    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

    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]


      Hôm nay: Thu Sep 21, 2017 4:45 am