01/10/2018, 08:58

Code danh sách liên kết không có lỗi nhưng không chạy

mọi người giúp em với.em complile không có lỗi nhưng chương trình không chạy

#include<stdio.h>
#include<conio.h>

typedef struct Node{
int value;
struct Node * next;
};
Node *first;
Node *last;
Node *addLast(int x){
	Node *p=new Node;
	p -> value = x;
	p -> next =NULL;
	if(first = NULL)
	first = p;
	else
	last -> next = p;
	last = p;
}
Node *Print(){
	Node *p = first;
	while (p != NULL){
	printf("%d ",p->value);
	p= p->next;
}
}
int main(){
	first=NULL;
	last=NULL;
	addLast(1);
	addLast(2);
	addLast(3);
	Print();
	getch();
	return 0;
}
Mai Hữu viết 11:07 ngày 01/10/2018

typedef struct Node{
int value;
struct Node * next;
};

bạn bỏ từ struct trước đoạn struct Node * next; xem

rogp10 viết 11:03 ngày 01/10/2018

Câu typedef này thiếu mất 1 thành phần quan trọng

IT viết 11:13 ngày 01/10/2018
  1. Hàm addLast(int x), phần if(first == NULL) cần viết lệnh là first = last = p, phần else có 2 câu lệnh bên dưới cần phải cho vào dấu mở ngoặc đóng ngoặc: else { }
  2. Các hàm có trả về Node *, phải có lệnh return trả về nữa.
Khoa NTA viết 10:58 ngày 01/10/2018

Ngoài lỗi mà các anh/bạn phía trên chỉ ra thì mình cũng thắc mắc: kiểu DSLK này hơi lạ, ‘first’ với ‘last’ liên hệ với nhau như thế nào? Bạn đã gán last = NULL thì làm gì có được last->next ở hàm ‘addLast’?

Bài liên quan
0