求教C语言小题一道
来源:百度知道 编辑:UC知道 时间:2024/06/21 10:06:49
将一同学的成绩插入班级的成绩单中。成绩单已经按照分数从高到低进行了排序,试问这个成绩要怎样插入才不影响已经排序好的成绩单?
你可以参考我这个代码,它是把一个节点插入一个有序的链表中
void insert(list < Event > &table ,Event event)
{
list< Event >::iterator iter=table.begin();
while( ((iter->value)< event.value) )
{
iter++;
if(iter==table.end())
break;
}
table.insert(iter,event);
}
链表嘛
双指针,队列。只需要移动指针就行了。书上有介绍。
将成绩但设为列表存储
插入就简单了
查找表
然后插入到相应位置
把要插入的成绩,和原来排好的成绩相比。。
确定插入位置。
如果是链表,可以直接断开,接进去。 在连起来。。
如果是数组。。把插入位置的元素一次往后移 一个位置。。
为待插的数据腾出一个新位置。。
用链表吧