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

Đề tài: Hàm insert giảm dần trong binary search tree

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

    Mặc định Hàm insert giảm dần trong binary search tree

    Các anh cho em hỏi:
    Khi em insert 1 dãy số tăng dần vào BST thì chương trình vẫn chạy nhưng tại sao khi insert 1 dãy số giảm dần thì chuơng trình lại không chạy được ạ?
    Đây là code của em ạ!
    /*
    * ================================================== ===================================
    *
    * Filename: binaryTree.c
    *
    * Description:
    *
    * Version: 1.0
    * Created: 11/12/2011 10:13:15 PM
    * Revision: none
    * Compiler: gcc
    *
    *
    *
    *
    * ================================================== ===================================
    */
    #include<stdio.h>
    #include<stdlib.h>
    #include<sys/time.h>

    typedef struct tree {
    long int item;
    struct tree *parent;
    struct tree *left;
    struct tree *right;
    } tree;
    //Insert tree
    void insertTree (tree **l, long int x, tree *parent)
    {
    tree *p;
    if(*l == NULL){
    p =(tree *)malloc (sizeof(tree));
    p->item = x;
    p->left = p->right = NULL;
    p->parent = parent;
    *l = p;
    return;
    }
    if(x<(*l)->item)
    insertTree(&(*l)->left, x, *l);
    else
    insertTree(&(*l)->right, x, *l);
    }
    //Insert Tang Dan
    void insertTangDan(tree **l, long int soLuong){
    long int i, j = 0;
    for(i = 0; i< soLuong; i++){
    insertTree(&(*l),j,*l);
    j = j+2;
    }
    }
    //Insert Giam Dan
    void insertGiamDan(tree **l, long int soLuong){
    long int i, j = soLuong;
    for(i = soLuong; i> 0; i++){
    insertTree(&(*l),j,*l);
    j = j-1;
    }
    }
    void Duyet(tree *l)
    {
    if (l!= NULL){
    Duyet(l->left);
    printf("%ld\n", l->item);
    Duyet(l->right);
    }
    }
    main()
    { tree *l;
    long int soLuong;
    l = (tree *)malloc(sizeof(tree));
    printf("Nhap vao so luong: ");
    scanf("%ld", &soLuong);
    insertGiamDan(&l, soLuong);
    Duyet(l);
    free(l);
    }

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

    xin lỗi các anh!:p Em tìm thấy lỗi sai rồi! Hàm InsertGiamDan của em bị lặp vô tận!

Các đề tài tương tự

  1. Binary search tree với số lượng phần tử lớn bị stack overflow?
    Gửi bởi kyozanuro trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 2
    Bài viết cuối: 16-12-2011, 10:19 PM
  2. Cài đặt Binary Search Tree bằng C#
    Gửi bởi Yin Yang trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 16-01-2011, 04:42 PM
  3. Đọc file đưa vào Binary search tree như thế nào?
    Gửi bởi hoangnn90 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 17-11-2010, 08:21 AM
  4. binary search tree.
    Gửi bởi pocolo trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 14-09-2009, 04:55 PM
  5. Thuật toán binary search tree trong lập trình C
    Gửi bởi kingdark115 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 05-12-2007, 01:04 AM

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