快速排序算法,感觉写的很乱,上面的是第一次排序,下面的是递归算法
来源:互联网 发布:周扬青淘宝店链接 编辑:程序博客网 时间:2024/06/05 09:56
#include<stdio.h>
#include <stdlib.h>
#include <memory.h>
int main(void)
{
int a[7] = {7,8,1,5,2,3,4};
int i=0,j=7-1;
int k =0;
int key = a[0];
int tmp = 0;
while(i < j)
{
while(j>=0 && i<j)
{
if(a[j]<key)
{
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
i++;
break;
}
j--;
}
while(i<7 && i<j)
{
if(a[i]>key)
{
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
j--;
break;
}
i++;
}
}
for (k=0;k<7;k++)
{
printf("%d ",a[k]);
}
return 0;
#include <stdlib.h>
#include <memory.h>
int main(void)
{
int a[7] = {7,8,1,5,2,3,4};
int i=0,j=7-1;
int k =0;
int key = a[0];
int tmp = 0;
while(i < j)
{
while(j>=0 && i<j)
{
if(a[j]<key)
{
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
i++;
break;
}
j--;
}
while(i<7 && i<j)
{
if(a[i]>key)
{
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
j--;
break;
}
i++;
}
}
for (k=0;k<7;k++)
{
printf("%d ",a[k]);
}
return 0;
}
#include<stdio.h>
#include <stdlib.h>
#include <memory.h>
int change(int a[],int i,int j)
{
int key = a[i];
int tmp = 0;
while(i < j)
{
while(j>=0 && i<j)
{
if(a[j]<key)
{
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
i++;
break;
}
j--;
}
while(i<7 && i<j)
{
if(a[i]>key)
{
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
j--;
break;
}
i++;
}
}
return i;
}
void change1(int a[],int i,int j)
{
int pivottag = 0;
if (i<j)
{
pivottag = change(a,i,j);
change1(a,pivottag+1,j);
change1(a,i,pivottag-1);
}
}
int main(void)
{
int a[7] = {7,8,1,5,2,3,4};
int i=0,j=7-1;
int k =0;
change1(a,0,6);
for (k=0;k<7;k++)
{
printf("%d ",a[k]);
}
return 0;
}
- 快速排序算法,感觉写的很乱,上面的是第一次排序,下面的是递归算法
- 快速排序算法是不稳定的算法
- 快速排序的递归算法
- 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法, 冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。
- 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。
- 第一次写快速排序算法出现栈溢出和排序错误的问题
- 快速排序的非递归算法
- 非递归的快速排序算法
- 快速排序算法的递归实现
- 使用递归的快速排序算法
- 快速排序算法的非递归实现
- 快速排序的非递归算法
- 非递归的快速排序算法
- 快速排序的递归实现算法。
- 快速排序算法的递归深度
- 快速排序的递归实现算法
- 快速排序算法的递归深度
- 快速排序的非递归算法实现
- wating for network configuration & unity恢复
- 部署的准备工作——tomcat的环境配置
- MKAnnotationView随MKMapView的缩放而缩放
- If()函数的用法
- VC++使用ActiveX控件连接和操作数据库
- 快速排序算法,感觉写的很乱,上面的是第一次排序,下面的是递归算法
- 深入浅出谈开窗函数(一)
- 如何把剧本快速转化为动画或游戏?
- 关于Linux操作系统根文件系统的启动分析
- 常用算法的时间复杂度分析
- JavaScript事件的绑定与取消和事件监听
- Linux启动过程简介(根文件系统加载过程)
- extern
- 验证码的实现与刷新