01/10/2018, 17:29

Append node trong Linked List

Mình có viết một hàm append như bên dưới, mọi người cho mình hỏi viết như thế đã đúng chưa, có cách nào viết gọn hơn hay rõ ràng hơn không? (prototype bắt buộc phải như vậy!). Mình cảm ơn!

void append(Position* &start, Position* new_position) {
	if (start == NULL) {
		start = new_position;
		return;
	}

	Position *p = start;
	if (p->pNext == NULL) {
		start->pNext = new_position;
		return;
	}

	while (p->pNext) {
		if (p->pNext->pNext == NULL) {
			Position *temp = p->pNext;
			temp->pNext = new_position;
			return;
		}
		p = p->pNext;
	}	
}
Nguyễn Nam viết 19:36 ngày 01/10/2018
if (start == NULL) start = new_position;
else {
    Position* p =start;
    /*while (p->pNext){
    p = p->pNext;
    }*/
    for (; p->pNext; p = p->pNext);
    p->pNext = new_position;
}

Lâu quá mới đụng đến, nếu mình sai báo nha.

Phạm Vân viết 19:31 ngày 01/10/2018

p nằm ngoài for là không được rồi bạn

Bài liên quan
0