简简单单
2024-08-20 13:14:30
发布于:江苏
2阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
struct Node {
int s;
Node *next;
} *head, a[100001];
int n;
int main() {
scanf("%d", &n);
head = NULL;
for (int i = 1; i <= n; i ++) {
scanf("%d", &a[i].s);
if (head == NULL)
head = &a[i];
else
if (a[i].s < head->s) {
a[i].next = head;
head = &a[i];
}
else {
Node *p = head;
for (Node *v = head; v; v = v->next) {
if (a[i].s > v->s)
p = v;
else
break;
}
a[i].next = p->next;
p->next = &a[i];
}
}
for (Node *v = head; v; v = v->next)
printf("%d ", v->s);
}
这里空空如也
有帮助,赞一个