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

Đề tài: Hỏi tí về DSLK

  1. #1
    Ngày gia nhập
    03 2007
    Nơi ở
    Nhà hát của những giấc mơ
    Bài viết
    33

    Mặc định Hỏi tí về DSLK

    p=new node;
    và p->next=new node thì có giống nhau ko

  2. #2
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Hỏi như thế thì ai biết mà trả lời cậu?

    Nếu nó cùng nằm trong một chương trình thì chắc là nó khác nhau.
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  3. #3
    Ngày gia nhập
    03 2007
    Nơi ở
    Nhà hát của những giấc mơ
    Bài viết
    33

    hu , nhờ các bác giải thích đoạn này

    Code:
    Node *head = new Node;
    head->next = 0;     // same as (*head).next
    Node *n = new Node;
    n->next = 0;
    Node *t = head;     // declares and sets to Node head
    while(t->next != 0)
         t = t->next;
    t->next = n;

  4. #4
    Ngày gia nhập
    09 2007
    Bài viết
    724

    Trích dẫn Nguyên bản được gửi bởi manutd1988 Xem bài viết
    hu , nhờ các bác giải thích đoạn này
    Code:
    Node *head = new Node; // cái này tạo một Node mới và xin cấp phát vùng nhớ cho nó. tức là sau câu lệnh này danh sách của bạn có được 1 node.
    head->next = 0;  // gán sự node tiếp theo của danh sách bằng Null. tức là danh sách này chỉ có 1 node.
    
    Node *n = new Node;
    n->next = 0; 
    
    Node *t = head;     // declares and sets to Node head
    while(t->next != 0) // kiểm tra nếu node tiếp theo trong danh sách còn chưa rỗng. tức là lấy ra phần tử cuối cùng của danh sách.
         t = t->next; // đưa t tới phần tử tiếp theo.
    t->next = n; // thêm một node mới vào danh sách hiện có.
    cái này nếu mình không nhầm thì nó được dùng để Insert một node mới vào một danh sách liên kết.
    nhưng bạn thiếu là gán phần data vào cho nó thì phải.

    Hy vọng là đúng ý của bạn hỏi.

  5. #5
    Ngày gia nhập
    03 2007
    Nơi ở
    Nhà hát của những giấc mơ
    Bài viết
    33

    Code:
    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    class number
    {
    	private:
    		int info;
    	public:
    		number *next;
    		number()
    		{
    			info=-1;
    			next=NULL;	
    		}
    		void set(int info){ this->info=info; }
    		int get(){ return info; }		
    }*head,*p;
    
    class DS
    {
    	private:
    		number* head;
    	public:
    		DS();
    		void them1so(int);
    		void display();
    };
    int dem=0;
    
    DS::DS()
    {
    	head=NULL;
    	p=NULL;	
    }
    void DS::them1so(int a)
    {
    	number* add=new number;
    	add->set(a);
    	add->next=NULL;
    	//Chen so thu hai vao danh sach
    	if(dem==1)
    	{
    		if(head->get() < a)
    		{
    			//chen sau
    			p->next=add;
    			p=add;
    		}	
    		else
    		{
    			//chen truoc
    			add->next=head;
    			p=head;
    			head=add;				
    		}
    		dem++;
    	}
    	//chen so dau tien vao DS
    	if(head==NULL)
    	{
    		p=add;
    		head=add;
    		dem++;
    	}
    	//Danh sach co 2 so tro len	
    	if(dem==2)
    	{
    		cout << "p" << p->get() << "p" << endl;
    	}
    }
    void DS::display()
    {
    	p = head;
    	while( p != NULL )
    	{
    		cout << p -> get() <<endl;
            p = p -> next;
    	}
    }
    int main()
    {
    	DS songuyen;
    	songuyen.them1so(4);
    	songuyen.display();
    	songuyen.them1so(5);	
    	songuyen.display();	
    	system("pause");		
    }
    cho mình hỏi vì sao sai ở chỗ chèn sau trong đoạn if(dem==1) đó
    Thanks

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

  1. Lỗi xóa DSLK sau khi xử lí DSLK trong hàm.
    Gửi bởi darkboys trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 6
    Bài viết cuối: 01-05-2013, 01:24 AM
  2. Bài tập C Hai bài DSLK
    Gửi bởi hoangtudangyeu trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 30-04-2013, 04:46 PM
  3. Chèn 1 node vào DSLK đôi (tăng dần ) để được 1 DSLK đôi ( tăng dần ) ?
    Gửi bởi phanxuanbanglhu trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 2
    Bài viết cuối: 29-11-2011, 03:11 PM
  4. Chuyển từ DSLK đơn sang DSLK kép
    Gửi bởi thaihoa91 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 04-05-2011, 07:47 PM
  5. Code cài đặt DSLK đơn vòng và kép vòng trên C++. Thêm 1 phần tử sau 1 phần tử trong DSLK đơn/kép
    Gửi bởi hoanghieu.fit.hcmus trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 2
    Bài viết cuối: 09-04-2011, 02:54 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