#define inf 0x3ffffff
#define ll int
struct E {
ll val; E*next = NULL, *pre = NULL;
E(ll a = 0) { val = a; }
};
void insert(E * root, ll val) {
//找到第一个大于他的元素并插入
while (root->next && root->next->val < val)
root = root->next;
E *t = new E(val);
t->next = root->next;
root->next = t;
}
int main() {
ll n, a;
while (cin >> n) {
E * root = new E(-inf);//首节点超级小
for (int i = 0; i < n; i++) {
cin >> a;
insert(root, a);
}
root = root->next;
while (root != NULL) {
cout << root->val << " ";
root = root->next;
}
cout << endl;
}
}
牛客网-遍历链表【升序链表插入】
最新推荐文章于 2023-04-17 08:42:46 发布