链表排序3
来源:互联网 发布:淘宝商家开通花呗条件 编辑:程序博客网 时间:2024/06/06 01:00
1:单链表冒泡排序
单链表
struct node;
{
int i;
node* pnode;
}NODE;
NODE *bubblesort(NODE *head)
{
NODE *q,*tail,*p=(NODE*)malloc(sizeof(NODE));
p->next = head;
head = p;
tail = NULL;
while(tail != head->next)
{
p = head;
q =p->next;
while(q->next != tail)
{
if (p->next->i < q->next->i)
{
p->next = q->next;
q->next = q->next->next;
p->next->next = q;
}
p = p->next;
q = p->next;
}
tail = q;
}
p = head->next;
free(head);
return p;
}
2:快速排序
struct LIST;
{
int i;
LIST* next;
}NODE;
LIST qsortL (LIST h, LIST lnext)
{
NODE n1, n2;
LIST p, t1 = &n1, t2 = &n2;
if (h == NULL) return lnext;
for (p = h->next; p != NULL;
p = p->next)
if (p->i < h->i)
{
t1->next = p;
t1 = p;
}
else
{
t2->next = p;
t2 = p;
}
t1->next = t2->next = NULL;
h->next = qsortL(n2.next, lnext);
return qsortL(n1.next, h);
}
单链表
struct node;
{
int i;
node* pnode;
}NODE;
NODE *bubblesort(NODE *head)
{
NODE *q,*tail,*p=(NODE*)malloc(sizeof(NODE));
p->next = head;
head = p;
tail = NULL;
while(tail != head->next)
{
p = head;
q =p->next;
while(q->next != tail)
{
if (p->next->i < q->next->i)
{
p->next = q->next;
q->next = q->next->next;
p->next->next = q;
}
p = p->next;
q = p->next;
}
tail = q;
}
p = head->next;
free(head);
return p;
}
2:快速排序
struct LIST;
{
int i;
LIST* next;
}NODE;
LIST qsortL (LIST h, LIST lnext)
{
NODE n1, n2;
LIST p, t1 = &n1, t2 = &n2;
if (h == NULL) return lnext;
for (p = h->next; p != NULL;
p = p->next)
if (p->i < h->i)
{
t1->next = p;
t1 = p;
}
else
{
t2->next = p;
t2 = p;
}
t1->next = t2->next = NULL;
h->next = qsortL(n2.next, lnext);
return qsortL(n1.next, h);
}
0 0
- 排序3:插入排序(普通插入排序 + 折半插入排序 + 链表插入排序 + 希尔排序)
- 链表排序3
- 链表排序 归并排序
- 链表排序--选择排序
- 链表排序--快速排序
- 链表排序--归并排序
- LIST排序, Struct排序, qsort排序, STL::LIST sort排序, 链表排序
- 单向链表排序:快速排序和归并排序
- 单向链表排序-归并排序
- 链表排序,使用插入排序,
- 链表排序-直接插入排序
- 链表的一种排序---冒泡排序
- c 链表排序 - 选择排序
- 链表排序之插入排序
- 插入排序进行链表排序
- 优化冒泡排序 & 链表选择排序
- 链表排序之选择排序
- 链表排序之冒泡排序
- TCP 2
- 时间转换
- 《最简单的图形与最复杂的信息:如何有效建立你的视觉思维》
- UILabel中有英文和中文的情况
- 增强 nginx 的 SSL 安全性
- 链表排序3
- Centos 6.5 安装Tomcat 8.5.9
- dpdk环境搭建之使能额外功能
- Android 图片在Editext里面,不是放在editext右边 是放在里面 右侧
- 解决UnityEngine与C# System Random冲突
- 请问一下,我这个demo设置了从缓存获取数据,为什么每次运行都是从网络获取数据呢?
- Maven的安装、配置及使用入门+maven安装报错:JAVA_HOME【申明:来源于网络】
- iOS 支付宝快捷支付 请求参数错误
- poj2785 4 Values whose Sum is 0 双向搜索