打倒诶嘿抢榜一 • 11个月前
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;
}
评论:
请先登录,才能进行评论