【数据结构】写一个算法 1.顺序存储线性表中的元素 按值非递减有序排列 将元素e插入到顺序表中使之
【数据结构】写一个算法1.顺序存储线性表中的元素按值非递减有序排列将元素e插入到顺序表中使之依然有序2.将一个顺序表就地逆置...
【数据结构】写一个算法
1.顺序存储线性表中的元素
按值非递减有序排列
将元素e插入到顺序表中使之依然有序
2.将一个顺序表就地逆置 展开
1.顺序存储线性表中的元素
按值非递减有序排列
将元素e插入到顺序表中使之依然有序
2.将一个顺序表就地逆置 展开
1个回答
展开全部
struct LinkNode //链表的节点类
{
int data;
LinkNode *link;
LinkNode(int a) :data(a), link(nullptr){ }
LinkNode() :link(nullptr){ }
};
LinkNode *create(){ //通过键盘输入创建有序链表(从小到大)
int elem;
LinkNode * head = nullptr;
std::cin.clear();
std::cout << "输入链表的中的元素:";
while (std::cin >> elem&&!std::cin.eof())
{
auto newnode = new LinkNode(elem);
if (newnode == nullptr)
{
std::cerr << "内存分配错误!" << std::endl;
exit(1);
}
if (head == nullptr)
{
head = newnode;
}
else
{
auto p = head;
if (elem <= p->data){
newnode->link = head;
head = newnode;
}
else
{
while (p->link != nullptr && p->link->data < elem)
p = p->link;
newnode->link = p->link;
p->link = newnode;
}
}
}
return head;
}
{
int data;
LinkNode *link;
LinkNode(int a) :data(a), link(nullptr){ }
LinkNode() :link(nullptr){ }
};
LinkNode *create(){ //通过键盘输入创建有序链表(从小到大)
int elem;
LinkNode * head = nullptr;
std::cin.clear();
std::cout << "输入链表的中的元素:";
while (std::cin >> elem&&!std::cin.eof())
{
auto newnode = new LinkNode(elem);
if (newnode == nullptr)
{
std::cerr << "内存分配错误!" << std::endl;
exit(1);
}
if (head == nullptr)
{
head = newnode;
}
else
{
auto p = head;
if (elem <= p->data){
newnode->link = head;
head = newnode;
}
else
{
while (p->link != nullptr && p->link->data < elem)
p = p->link;
newnode->link = p->link;
p->link = newnode;
}
}
}
return head;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询