30/09/2018, 18:49

Thêm 1 phần tử vào danh sách liên kết sao cho danh sách đó vẫn tăng?

dự là thầy e có cho e câu này, nhưng e hơi bở ngở.mong mấy a chị cho e cái thuật toán ạ

Tý Tèo viết 20:58 ngày 30/09/2018

Tìm vị trí phần tử đầu tiên có giá trị lớn hơn phần tử cần chèn -> chèn phần tử đó vào ngay trước vị trí đó
Nếu không phải liên kết đôi thì trong quá trình tìm cần lưu lại vị trí phần tử phía trước để có thể chèn vào

Long Long viết 20:50 ngày 30/09/2018

cái này mình làm nhưng chạy sai, đầu tiên tạo 1 node p có giá trị 4, cái này mình mặc định luôn. sau duyệt vòng lặp thôi. VD nhập mảng là 1 2 6 7 thì nó lại in ra 1 2 6 4. mình ko hiu sai chỗ nào. ak mà cái này mình viết theo mảng rời chứ ko phải mảng đặt đâu nha bạn

 void chen(list &mylist)
 {
	NODE*q;
	NODE*p = CreateNode(4);
	for (q = mylist.pHeap; q != NULL; q = q->next)
	{
		if (p->info < q->info)
		{
			p->next = q->next;
			q->next = p;
		}
	}
 }
Bài liên quan
0