【数据结构】链表应用——箱子排序

见识短浅的我长知识了

小结

让链表的get、insert、erase等费时的操作在程序中时间复杂度仅有O(1)!!!。说明,以后凡是要遍历一个链表类型的,更宽泛地讲,是有指针索引的,都在它的首端进行操作!!!

#include <iostream>
#include "bin_sort.h"
#include "linear_list.h"
using namespace std;
/***********文件说明************
* 文件名:bin_sort.cpp
* 文件功能:箱子排序

**/

/****************函数说明************************
* 函数名: void binSort(chain<studentRecord>& theChain, int range)
* 函数参数:一个记录学生成绩的链表,成绩输入范围
* 函数返回值:地址传递,从小到大排序的学生成绩链表
* 函数功能:使用链表的多个方法进行箱子排序
* 实现步骤:
		1、连续删除链表的首元素,并将其插入插入相应的某个箱子的链表首位;
		2、从最后一个箱子开始(按照从小到大排序),逐个删除每个箱子的元素,并将其插入一个初始为空的链表的首位
* 时间复杂度:如果不考虑内存分配异常的话,第一个for循环O(n),第二个for循环O(range),总的时间复杂度O(n+range)
**/
void binSort(chain<studentRecord>& theChain, int
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ThetaQing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值