RT
int n;
struct node
{
int key;
node* next;
node* prev;
};
int main()
{
node* p;
node* h = new node;
node* r = new node;
h -> next = NULL;
r -> next = NULL;
h -> prev = NULL;
r -> prev = NULL;
cin >> n;
while(n--)
{
p = new node;
cin >> p -> key;
node* q = r;
while(q -> prev != NULL && q -> key < p -> key)
q = q -> prev;
// if(q -> prev == NULL)
// h = p;
// if(q -> next == NULL)
// r = p;
// p -> next = q -> next;
// q -> next -> prev = p;
}
while(h -> next != NULL)
{
cout << h -> key << " ";
h = h -> next;
}
return 0;
}
蒟蒻刚学链表,请问这个链表插入排序的头尾指针如何更新?