要求用c++编写如下程序 1.从键盘输入顺序任意的5个整数,生成第一个有序单链表,将该链表输出显示

2025-04-01 19:20:15
推荐回答(1个)
回答1:

struct ll {
  int data;
  ll* next;
  ll() { next = 0; }
};

#include 
#include 
using namespace std;

int main()
{
  int i;
  ll* head = new ll;
  for(i = 0; i < 5; ++i) {
    int x;
    cin >> x;
    ll* pre = head;
    ll* cur = pre->next;
    while(cur) {
      if (cur->data > x) break;
      pre = cur;
      cur = cur->next;
    }
    ll* n = new ll;
    n->data = x;
    pre->next = n;
    n->next = cur;
  }
  ll* cur = head;
  while(cur = cur->next)
    cout << cur->data << " ";
  cur = head;
  while(cur) {
    ll* t = cur;
    cur = cur->next;
    delete t;
  }
  return 0;
}