第一范文网 - 专业文章范例文档资料分享平台

链表实现排序算法

来源:用户分享 时间:2025/7/6 8:07:33 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

北京邮电大学信息与通信工程学院

第9页

北京邮电大学信息与通信工程学院

4. 总结

本次实验进行了使用链表存储结构实现插入排序、冒泡排序、快速排序、简单选择排序的编程。这使我对不同的排序方法有了更加深刻的理解和认识。从中也体会到不同的排序方式所耗费的时间复杂度实在是大相径庭,这警示我们,编写一个时间复杂度小的排序函数在进行排序操作时,起着至关重要的作用。

完整代码如下: #include #include using namespace std; struct Node {

int data;

struct Node*next; struct Node*previor; };

class LinkList {

private:

Node* partion(Node*first,Node*end); //快速排序一趟

第10页

北京邮电大学信息与通信工程学院

public:

Node*front; int comparision; //比较次数 int movement; //移动次数 LinkList() //无参构造 { front = new Node; front->next = NULL; front->previor = NULL; comparision = movement = 0;

}

LinkList(int a[],int n); void insertsort(); void bubblesort(); void Qsort(Node*x,Node*y); void selectsort(); void show(); ~LinkList(); };

LinkList::LinkList(int a[],int n) {

front = new Node; front->next = NULL; front->previor = NULL;

comparision = movement = 0; Node*x = new Node; Node*s = new Node; s->data = a[n - 1]; s->next = front; s->previor = front; front->next = s; front->previor = s; x = s;

for (int i = n - 2; i >= 0; i--) { Node*s = new Node; s->data = a[i]; s->next = front->next; s->previor = front;

第11页

//构造函数:建立双向链表 //插入排序 //冒泡排序 //快速排序 //简单选择排序 //显示排序结果 //析构函数 北京邮电大学信息与通信工程学院

front->next = s; x->previor = s; x = s; } }

Node* LinkList::partion(Node*first, Node*end) {

int basic = first->data; while (first != end) { while ((first != end) && (end->data >= basic)) { end = end->previor; comparision++; } comparision++; first->data = end->data; movement++; while ((first != end) && (first->data <= basic)) { first = first->next; comparision++; } comparision++; end->data = first->data; movement++; }

first->data = basic; movement++; return first; }

void LinkList::insertsort() {

Node*p = front->next; Node*s = p->next; while (s!=front) { if (s->data < p->data) {

第12页

搜索更多关于: 链表实现排序算法 的文档
链表实现排序算法.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4i88h9p3du7wp9920czo7b3ef97x1a00zz8_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top