过关+解释

汤姆大人我的神  •  1年前


include

include

using namespace std;

typedef struct Node {

int data;
Node *next;

} Lnode, *LinkList;//创建链表结点

bool Empty(LinkList L) {

if (L->next == NULL)
	return true;
else
	return false;

}//判断链表是否为空

void print_list(LinkList L) {

if (Empty(L))
	cout << "No";
else {
	LinkList p = L->next;
	while (p != NULL) {
		cout << p->data << " ";
		p = p->next ;//指向下一个结点
	}
}

}//输出链表

void create_list(LinkList &L) {

L = new Lnode;//申请头结点
L->next = NULL;//头结点的next初始化
LinkList r = L;//创建尾指针
int a;
cin >> a;
while (a != -1) {
	if (a % 2 != 0) {
		LinkList p = new Lnode;//新建一个结点
		p->data = a;//新节点赋值
		p->next = r->next ;//将链表最后一个结点的next域给新建的结点
		r->next = p;//将新建结点和链表链接
		r = p;//尾指针后移到新建的结点
	}
	cin >> a;
}

} int main() {

LinkList l;//申明一条链表
create_list(l);
print_list(l);
return 0;

}


评论:

请先登录,才能进行评论