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

Đề tài: So sánh 2 hàm???

  1. #1
    Ngày gia nhập
    12 2007
    Bài viết
    25

    Mặc định So sánh 2 hàm???

    Mình có 2 hàm về việc xóa phần tử đầu tiên của 1 DSLK, mình ko hiểu đặc điểm khac nhau của chúng là như thế nào, cả 2 hàm này đều thực hiện đúng chức năng của nó, chạy ko bị lỗi gì. Các bạn xem giúp nhé.


    Hàm thứ nhất(mình đọc trong sách)
    Code:
    SinhVienNode Xoadau(SinhVienList &l)
    {
    	SVNode *p;
    	SV x;
    	if (l.pHead!=NULL)
    	{
    		p=l.pHead;
    		x = p->info;
    		l.pHead=l.pHead->pNext;
    		delete p;
    		if (l.pHead==NULL)
    		{
    			l.pTail=NULL;
    		}
    	}
    	return x;
    }
    Hàm thứ 2(do mình sửa lại)
    Code:
    void Xoadau(SinhVienList &l)
    {
    	SVNode *p;
    	
    	if (l.pHead!=NULL)
    	{
    		p=l.pHead;
    		
    		l.pHead=l.pHead->pNext;
    		delete p;
    		if (l.pHead==NULL)
    		{
    			l.pTail=NULL;
    		}
    	}
    	
    }
    Ở hàm thứ nhất mình ko hiểu những dòng màu đỏ là để thực hiện nhiêm vụ gì trong khi hàm mình viết ở dưới vẫn chạy tốt? Khi mình viết hàm như thế thì liệu mình sẽ bị sai lỗi nào hay ko???
    Mong chờ giải đáp của các bạn.

  2. #2
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    À. Cái này thì cũng không có gì quan trọng lắm đâu .
    Chẳng qua là tùy mục đích dùng thôi.
    Với cách 1 sau khi xóa node head . Thì hàm trả về trị info của node vừa xóa. Giống như cớ chế pop của stack vậy. Nhớ ko ?

    Có điều khai báo của cái funtion đầu tiên có gì đó mâu thuẫn hoặc dư .
    X là kiểu SV trong khi trị trả về là SVNode ? Cậu coi lại chỗ này.

    Tớ góp ý 1 chút là cậu chỉ đọc trong sách để hiểu cái giải thuật thôi, còn khi cài đặt nên viết theo OOP vừa rõ ràng dễ hiểu vừa dễ dùng.

  3. #3
    Ngày gia nhập
    12 2007
    Bài viết
    25

    Hic, tớ chưa coi tới Pop. Nhưng mà cách thứ hai của tớ viết thì có bị lỗi gì không vậy. Nhờ bạn chỉ giúp.

    Bây giờ tớ đang học để thi nên chỉ đọc để hiểu thôi, khi thi chỉ yêu cầu viết hàm thôi chứ không cần viết nguyên cả chương trình nên ko yêu cầu lắm về OOP.
    Many Thanks!

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