链表实现冒泡排序
来源:互联网 发布:如何防范网络诈骗ppt 编辑:程序博客网 时间:2024/06/05 15:15
用C++创建一个单向链表,并进行冒泡排序,代码如下:
#include<iostream>using namespace std;class Node{public:int data;Node *next;};Node *creat() //创建一个单向链表{int count = 0;Node *head, *p1, *p2;p1 = new Node;p2 = new Node;cin >> p1->data;head = NULL;while (p1->data != 0) //约定当输入数据为0时,创建链表结束{count++;if (count == 1)head = p1;elsep2->next = p1;p2 = p1;p1 = new Node;cin >> p1->data;}p2->next = NULL;return head;}void Bubblesort(Node *h) //冒泡排序{int temp;Node *endNode = NULL; //endNode指向每次冒泡排序的最后一个节点Node *pi;while (endNode != h->next){for (pi = h; pi->next != endNode; pi = pi->next){Node *pj = pi->next;if (pi->data > pj->data){temp = pi->data;pi->data = pj->data;pj->data = temp;}}endNode = pi;}}void show(Node *node) //显示链表{while (node != NULL){cout << node->data << " ";node = node->next;}cout << endl;}int main(){cout << "输入数字:";Node *node = creat();cout << "排序前链表:";show(node);Bubblesort(node);cout << "排序后链表:";show(node);cin.get();cin.get();return 0;}
程序运行结果:
0 0
- 链表实现冒泡排序
- 链表实现冒泡排序
- 链表实现冒泡排序
- 冒泡排序(链表实现)
- 递归实现链表的冒泡排序。
- 链表实现冒泡排序算法
- 伪冒泡排序------数组/链表实现
- 冒泡排序-----数组/链表实现
- 冒泡法实现链表排序
- 冒泡排序的链表实现
- 冒泡排序的链表实现
- 冒泡升序排序的数组实现和链表实现
- 链表冒泡排序
- 链表冒泡排序
- C语言链表实现冒泡法排序
- 双向链表操作(逆置三种实现以及 冒泡排序 )
- 数据结构 排序(冒泡排序改进,简单选择排序链表实现)
- ASP实现冒泡排序
- HDOJ 5747 Aaronson
- 杭电OJ2203-亲和串
- EL表达式/ JSTL标准标签库
- linux多线程的使用
- 栈区和堆区内存分配的区别
- 链表实现冒泡排序
- [源码学习][知了开发]WebMagic四大组件-Scheduler
- STL set容器 基本运用
- 不可思议、违反直觉
- (三)Spring框架——IoC容器
- TCP UDP及socket编程学习(一)
- RMQ (st表) Balanced Lineup
- (四)Spring框架——Bean的定义
- 会话技术 cookie和session 学习笔记