
c++的相关问题,用c++的方法解决,不要用太复杂的,简单点的即可
运行结果:

代码:
#include <iostream>
using namespace std;
typedef struct _linknode
{
int data;
struct _linknode* next;
}LinkNode;
int main()
{
int i, data, n;
LinkNode* head, * p, * t, * front;
head = new LinkNode;
head->next = 0;
p = head;
//输入n
cin >> n;
//输入n个数据
for (i = 0; i < n; i++)
{
t = new LinkNode;
cin >> t->data;
t->next = 0;
p->next = t;
p = t;
}
//输入插入的数据
cin >> data;
t = new LinkNode;
t->data = data;
t->next = 0;
//如果比最后一个元素大,直接插入最后一个位置
if (t->data > p->data)
{
p->next = t;
}
else
{
front = head;
p = front->next;
while (p)
{
if (p->data > t->data)
{
front->next = t;
t->next = p;
break;
}
else
{
front = p;
p = p->next;
}
}
}
//输出
p = head->next;
int flag = 0;
while (p)
{
if (flag == 0)
{
cout << p->data;
flag = 1;
}
else
cout << " " << p->data;
p = p->next;
}
return 0;
}