链表实现冒泡排序
来源:互联网 发布:张晓蓬 知乎 编辑:程序博客网 时间:2024/06/05 08:08
#include"stdio.h"#include"stdlib.h"typedef struct node{ int num; struct node *next;}node;node *head = NULL;node *last = NULL;void print(){ node *p = head; while( p != NULL) { printf("%d ",p->num);p = p->next; } printf("\n");}void create(){ int n = 6; node *p; while(n) { p = (node *)malloc( sizeof(node) );p->num = rand()%50+1;if( head == NULL){ head = p; last = p;}else{ last->next = p; last = p;}last->next = NULL;n--; }}void sort(){ node *p,*q,*front; int i,j,flag; if( head == NULL || head->next == NULL) { return; } for( i = 0; i < 6 ; i++) { p = head; front = NULL;q = p->next;flag = 0; for( j = 0 ; j < 6-i-1;j++){ if( p->num > q->num) { flag++; if(front == NULL){ p->next = q->next; q->next = p; head = q;}else{ p->next = q->next; q->next = p; front->next = q;}front = q;q = p->next; } else { front = p; p = q; q = p->next; }}if( flag == 0){ break;} }}int main(){ printf("正在产生随机数\n"); create(); printf("排序前:\n"); print(); sort(); printf("排序后:\n"); print(); return 0;}
- 链表实现冒泡排序
- 链表实现冒泡排序
- 链表实现冒泡排序
- 冒泡排序(链表实现)
- 递归实现链表的冒泡排序。
- 链表实现冒泡排序算法
- 伪冒泡排序------数组/链表实现
- 冒泡排序-----数组/链表实现
- 冒泡法实现链表排序
- 冒泡排序的链表实现
- 冒泡排序的链表实现
- 冒泡升序排序的数组实现和链表实现
- 链表冒泡排序
- 链表冒泡排序
- C语言链表实现冒泡法排序
- 双向链表操作(逆置三种实现以及 冒泡排序 )
- 数据结构 排序(冒泡排序改进,简单选择排序链表实现)
- ASP实现冒泡排序
- Android OpenGL ES 开发教程(27):材质及光照示例
- 用户空间与内核空间数据交换的方式(1)------debugfs
- 将Axis2开发的WebService发布到自己的应用中(补充)
- mysql SELECT语句执行顺序
- 场景管理,放弃场景图
- 链表实现冒泡排序
- TCP/IP传输层的若干问题
- Android 的网络编程
- 面试感想之虚三
- 【编译原理】用Yacc做语法分析
- stm32(二) stm32中断优先级的设置
- Manacher算法求最长回文子串
- 关于3D引擎中的多线程渲染(Multithreaded-Rendering)
- ServiceStack.Redis 使用教程