Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Cài đặt ngăn xếp bằng danh sách móc nối

  1. #1
    Ngày gia nhập
    10 2016
    Bài viết
    0

    Post Cài đặt ngăn xếp bằng danh sách móc nối

    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    //mo ta ngan xep
    struct StackNode {
    float item;
    StackNode *next;
    };
    struct Stack {
    StackNode *top;
    };
    //khoi tao ngan xep
    Stack *StackConstruct();
    //huy ngan xep
    void StackDestroy(Stack *s);
    //kiem tra ngan xep rong
    int StackEmpty(const Stack *s);
    //kiem tran ngan xep day
    int StackFull(const Stack *s);
    //nap phan tu vao ngan xep
    int StackPush(Stack *s,float *item);
    //lay phan tu ra
    float StackPop(Stack *s);
    //hien ra cac phan tu ngan xep
    void disp(Stack *s);

    //bat dau
    Stack *StackConstruct() {
    Stack *s;
    s = (Stack *)malloc(sizeof(Stack));
    if(s == NULL){
    return NULL;
    }
    s->top = NULL;
    return s;




    }
    void StackDestroy(Stack *s) {
    if(!StackEmpty(s)) {
    StackPop(s);
    }
    free(s);
    }
    int StackEmpty(const Stack *s) {
    return(s->top == NULL);

    }
    int StackFull() {
    printf("no memory stack full!!!!");
    return 1;
    }
    int StackPush(Stack *s,float item) {
    StackNode *node;
    node = (StackNode*)malloc(sizeof(StackNode));
    if(node == NULL){
    StackFull();
    return 1;
    }
    node ->item = item;
    node ->next = s->top;
    s->top = node;
    return 0;
    }
    float StackPop(Stack *s) {
    float item;
    StackNode *node;
    if(StackEmpty) {
    exit(1);
    }
    node = s -> top;
    item = node -> item;
    node = node ->next;
    free(node);
    return item;
    }
    void disp(Stack *s){
    StackNode *node;
    float m;
    if(StackEmpty){
    printf("ngan xep rong...........!");
    getch();

    }
    else{
    node = s->top;
    do{
    m = node ->item;
    printf("\n ....cac phan tu ngan xep....\n");
    printf("6.3f",m);
    node = node ->next;

    } while(!(node == NULL));
    }
    }

    int main(){
    int ch,n,i,k;
    float m;

    Stack *s;
    while(1){

    printf("CHUONG TRINH TAO NGAN XEP \n");
    printf("---------------------------\n");
    printf(" 1.creat\n 2.push\n 3.pop\n 4.Display \n 5.exit");
    printf("\nchon chuc nang: ");
    scanf("%d",&ch);
    printf("\n");
    switch(ch){
    case 1:
    printf("da khoi tao stack\n");
    s = StackConstruct();
    printf("nhap so luong phan tu n = ");
    scanf("%d",&n);
    for( i = 1; i <= n; i ++)
    {
    printf("phan tu thu %d la: ",i);
    scanf("%f",&k);
    StackPush(s,k);
    }
    break;
    case 2:
    printf("phan tu them vao: ");
    scanf("%f",&m);
    printf("gia tri phan tu nhap vao: %2.3f",m);
    StackPush(s,m);
    break;
    case 3:
    if(!(StackEmpty(s))){
    StackPop(s);
    getch();
    }
    else
    exit(1);
    break;
    case 4:
    disp(s);
    break;
    case 5:
    printf("da thoat");
    exit(1);
    break;
    default:
    printf("wrong choice ");
    getch();
    } //end switch

    } //end while
    }

    chạy trên dev-c
    mọi người cho mình hỏi làm sao để khởi tạo các giá trị ban đầu vào ngăn xếp?thanks all

  2. #2
    Ngày gia nhập
    09 2011
    Bài viết
    7

    Không ai trả lời à các thánh
    1)Chuyên gia công phần mềm
    Skype: hoa_cntt52
    Email: capgiayphep.vn@gmail.com
    Sdt: 0167.4555.717
    Website: http://capgiayphep.vn

  3. #3
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    902

    Trích dẫn Nguyên bản được gửi bởi hoa_cntt52 Xem bài viết
    Không ai trả lời à các thánh
    Hỏi lại mình trước khi hỏi người, tại sao?

  4. #4
    Ngày gia nhập
    07 2016
    Nơi ở
    Hà Nội
    Bài viết
    218

    Hình như bạn hỏi sai mục rồi
    NHẬN CODE THUÊ ĐỒ ÁN - BÀI TẬP LỚN
    TẤT CẢ CÁC NGÔN NGỮ LẬP TRÌNH. HOÀN THÀNH NHANH CHÓNG, HIỆU QUẢ
    Số điện thoại: 01629732025 Email: codethuexyz@gmail.com facebook https://www.facebook.com/codethuedoancntt

  5. #5
    Ngày gia nhập
    09 2011
    Bài viết
    7

    Trích dẫn Nguyên bản được gửi bởi MHoang Xem bài viết
    Hỏi lại mình trước khi hỏi người, tại sao?
    Nhắc lên cho anh em biết trả lời dùm bạn đó thôi
    1)Chuyên gia công phần mềm
    Skype: hoa_cntt52
    Email: capgiayphep.vn@gmail.com
    Sdt: 0167.4555.717
    Website: http://capgiayphep.vn

Tags của đề tài này

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn