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

Đề tài: Thêm phần tử vào list (danh sách) không được, tự động thoát. Cần giúp đỡ

  1. #1
    Ngày gia nhập
    02 2009
    Nơi ở
    Đà Nẵng
    Bài viết
    103

    Mặc định Thêm phần tử vào list (danh sách) không được, tự động thoát. Cần giúp đỡ

    mình xây dựng thư viện lish.h
    C Code:
    1. #include<stdio.h>
    2. #include<alloc.h>
    3. struct node{
    4.     int data;
    5.     struct node* next;
    6. };
    7. void Init(struct node* head,int* count);
    8. void Insert(struct node* head,int pos,int element,int *count);
    9. void Delete(struct node* head,int pos,int element,int *count);
    10. void Destroy(struct node* head);
    11. int isEmpty(struct node* head);
    12. void Init(struct node* head,int* count){
    13.     head=NULL;
    14.     *count=0;
    15. }
    16. void Insert(struct node* head,int pos,int element,int* count){
    17.     struct node* n;
    18.     struct node* cur=head;
    19.     if(pos>=0 && pos<=*count)
    20.     {
    21.         n=(struct node*)malloc(sizeof(struct node));
    22.         n->data=element;
    23.         if(pos==0)
    24.         {
    25.             n->next=head;
    26.             head=n;
    27.         }else
    28.         {
    29.             for(int i=0;i<pos-1;i++)
    30.                 cur=cur->next;
    31.             n->next=cur->next;
    32.             cur->next=n;   
    33.         }
    34.         *count ++;
    35.     }
    36. }
    37. //xoa 1
    38. void Delete_l(struct node* head,int pos,int element, int *count){
    39.     struct node* tmp;
    40.     struct node* cur=head;
    41.     if(pos>=0 && pos<=*count){
    42.         if(pos==0)
    43.         {
    44.             element=head->data;
    45.             tmp=head;
    46.             head=head->next;
    47.             free(tmp);
    48.         }
    49.         else{
    50.             for(int i=0;i<pos-1;i++){
    51.                 cur=cur->next;
    52.                 tmp=cur->next;
    53.                 element=tmp->data;
    54.                 cur->next=tmp->next;
    55.                 free(tmp); 
    56.             }
    57.         }
    58.         *count++;
    59.     }
    60. }
    61. void Destroy(struct node* head){ //xoa toan bo danh sach
    62.     struct node* tmp;
    63.     struct node* cur=head;
    64.     while(cur!=NULL){
    65.         tmp=cur;
    66.         cur=cur->next;
    67.         free(tmp);
    68.     }
    69. }
    70. int isEmpty(struct node* head){
    71.     if(head==NULL)
    72.         return 1;
    73.     else
    74.         return 0;
    75. }

    và khi chay thì không insert phần tử vào danh sách được
    file lish.cpp
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<list.h>
    4. void main(){
    5.     struct node* head;
    6.     int* count;
    7.     Init(head,&count);
    8.     printf("head:");
    9.     Insert(head,0,2,&count);
    10.    
    11.     getch();
    12. }
    không báo lỗi. tự động nó thoát.
    ghé thăm website của mình: Tại đây

  2. #2
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    void Init(struct node* head,int* count);
    int* count;
    Init(head,&count);


    đối số truyền vào là con trỏ bậc 1 sau đó lại truyền vào bậc 2.
    void Insert(struct node* &head,int pos,int element,int* count)
    node head truyền vào phải là tham chiếu.cập nhật thêm vào list
    Đã được chỉnh sửa lần cuối bởi treatmaster : 12-11-2011 lúc 11:40 AM.
    HT117-5277

  3. #3
    Ngày gia nhập
    02 2009
    Nơi ở
    Đà Nẵng
    Bài viết
    103

    vẩn bi lổi như thế bạn ak.
    ai sửa lỗi này giùm với.
    ghé thăm website của mình: Tại đây

  4. #4
    Ngày gia nhập
    11 2011
    Bài viết
    4

    Hi,
    Minh nghi cau lenh dieu kien cua ban co van de do
    Ban thu DEBUG xem khi ban call ham Insert thi no co vao than ham if không?
    Kiểm tra xem no bi lỗi chỗ nào? Nếu bạn debug từng dòng thì sẽ phát hiện ra thôi

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

  1. Lập trình C++ giúp e bài thêm/xoá phần tử trong danh sách liên kết đơn với :)
    Gửi bởi duhocsinhlx trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 30-09-2013, 01:43 PM
  2. Lỗi thêm 1 đối tượng trong danh sách List<> C#?
    Gửi bởi hoangtk401 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 10
    Bài viết cuối: 15-12-2011, 11:07 AM
  3. Phương thức Add trong list có phải là thêm đối tượng vào list không?
    Gửi bởi princehai trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 20-09-2011, 01:14 PM
  4. Chuyển các phần tử từ list này sang list kia. Sửa giúp mình?
    Gửi bởi Vaanres trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 25-07-2010, 09:45 PM
  5. Thao Tác Thêm 1 Phần Tử Vào List có sẵn.
    Gửi bởi QuynhChi trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 4
    Bài viết cuối: 21-05-2010, 04:23 PM

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