早教吧作业答案频道 -->其他-->
写出算法已知线性表中的元素以值递增的有序排列,并以单链表做存储结构,是写一高效的算法,删除表中所有值大于mink且小于maxk的元素(若表中存在这样的元素)
题目详情
写出算法
已知线性表中的元素以值递增的有序排列,并以单链表做存储结构,是写一高效的算法,删除表中所有值大于mink且小于maxk的 元素(若表中存在这样的元素)
已知线性表中的元素以值递增的有序排列,并以单链表做存储结构,是写一高效的算法,删除表中所有值大于mink且小于maxk的 元素(若表中存在这样的元素)
▼优质解答
答案和解析
// hello,enjoy it
1.假设单链表的节点数据结构为
struct node
{
TYPE data;
node* pnext;
};
2.假设链表的第一个节点的指针为first.
3.删除不在范围内的节点的方法如下:
node* tmp;
//首先删除不在范围内的第一个节点
while(first->data>mink||first->->datanext; //新的第一个节点
delete tmp;
}
//遍历后面的节点
node* pprenode = first; //当前节点的前一个节点.
for(node* pcurrentnode=first->next;pcurrentnode != null;node* pcurrentnode = pcurrentnode->next)
{
if(pcurrentnode->data>mink||pcurrentnode->datanext;
pcurrentnode = pprenode; //更新当前节点,原来的当前节点被删除了!
delete pcurrentnode;
}
pprenode = pcurrentnode; // 记录当前节点的指针,
}
//注意的问题,在实际编程时防止指针访问越界,这里没有仔细考虑这个问题.^^
1.假设单链表的节点数据结构为
struct node
{
TYPE data;
node* pnext;
};
2.假设链表的第一个节点的指针为first.
3.删除不在范围内的节点的方法如下:
node* tmp;
//首先删除不在范围内的第一个节点
while(first->data>mink||first->->datanext; //新的第一个节点
delete tmp;
}
//遍历后面的节点
node* pprenode = first; //当前节点的前一个节点.
for(node* pcurrentnode=first->next;pcurrentnode != null;node* pcurrentnode = pcurrentnode->next)
{
if(pcurrentnode->data>mink||pcurrentnode->datanext;
pcurrentnode = pprenode; //更新当前节点,原来的当前节点被删除了!
delete pcurrentnode;
}
pprenode = pcurrentnode; // 记录当前节点的指针,
}
//注意的问题,在实际编程时防止指针访问越界,这里没有仔细考虑这个问题.^^
看了 写出算法已知线性表中的元素以...的网友还看了以下:
作者盼望做个唐朝少年郎.请你以“做个唐朝少年郎,我自豪”为中心,写一段热情洋溢的话(50字以内). 2020-03-30 …
没有目的,就做不成任何事情,目的渺小就做不成任何大事我需要这句话的大意,以及深层的理解,写成演讲稿 2020-07-06 …
改写句子:Hesaidhewouldcleanthewindow.Hesaidhewouldhav 2020-07-09 …
火车沿长直坡路向下行驶.开始时速度表上的读数是54km/h,以后每5s读取一次数据.如表所示.时间 2020-07-17 …
帮忙仿写以下两个句子,要原创.仿格式,字数可以不一样!做不了大江大河,就做一条小小的溪流吧,做不了 2020-07-24 …
关注食品安全材料一:2016年6月13日,青岛市创建国家食品安全城市开启宣传活动,在活动中做了以下调 2020-11-01 …
英语作文以后想当的职业英语作文写自己以后想做什么工作就是写以后我想做什么,并写一些你的具有创造力的想 2020-11-10 …
请在横线上填写敬辞、谦辞。1.邀请朋友到家中做客,你可以说:“我在家里您的到来。”2.请在横线上填写 2020-11-13 …
写出不同场合中使用的敬辞或谦辞。(限用二字词)1.邀请朋友到家中做客,你可以说:“写出不同场合中使用 2020-12-18 …
小明在他的生活、学习中做了以下事情,哪项对保护生态环境没有积极意义()A.在自家庭院中栽种了月季、女 2021-02-01 …