求教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);
}

链表嘛

双指针,队列。只需要移动指针就行了。书上有介绍。

将成绩但设为列表存储
插入就简单了
查找表
然后插入到相应位置

把要插入的成绩,和原来排好的成绩相比。。
确定插入位置。

如果是链表,可以直接断开,接进去。 在连起来。。

如果是数组。。把插入位置的元素一次往后移 一个位置。。
为待插的数据腾出一个新位置。。

用链表吧