AC详解

小双  •  9个月前


include

using namespace std;

typedef struct Node {

int data;
Node *next;

} LNode, *LinkList;

void Create_List(LinkList &L) {

L = new Node;
L->next = NULL;
LinkList r = L;
int x;
cin >> x;
while (x != -999) {
	LinkList p = new Node;
	p->data = x;
	p->next = r->next;
	r->next = p;
	r = p;
	cin >> x;
}

}

LinkList find_max(LinkList L) {

LinkList t, p = L;
int max = 0;//定义一个最大值的变量
while (p->next != NULL) {
	if (p->next->data > max) {//如果p的下一个为最大值
		max = p->next->data;//将这个值赋值给max
		t = p;//指向它的前一个
	} else {
		p = p->next;//如果不是最大值就后移
	}

}
return t;//返回t

}

void Insert_List(LinkList &L) {

LinkList p = find_max(L), s;//创建指针
s = new LNode;//创建一个新结点
s->data = -25;//将其赋值为-25
s->next = p->next;//将p指针结点后面的结点与新结点连接
p->next = s;//链表和新结点连接
p = p->next->next;//将p指针后移两位
s = new LNode;//再创建一个新结点
s->data = -25;//将其赋值为-25
s->next = p->next;//将p指针结点后面的结点与新结点连接
p->next = s;//链表和新结点连接

}

void Print_List(LinkList &L) {

Node *cur = L->next;
while (cur != NULL) {
	cout << cur->data << " ";
	cur = cur->next;
}
cout << endl;

}

int main() {

LinkList L;
Create_List(L);
find_max(L);
Insert_List(L);
Print_List(L);
return 0;

}


评论:

看不懂看不懂看不懂看不懂看不懂看不懂看不懂看不懂看不懂看不懂看不懂看不懂看不懂看不懂


桐姐  •  9个月前

请先登录,才能进行评论