用冒泡,选择,快速排序的方法排序
来源:互联网 发布:ubuntu 16.04 安装 编辑:程序博客网 时间:2024/05/17 22:20
冒泡排序法
#include<stdio.h>
void swap(int *a,int *b)
{
int temp;
temp=*a;
*a=*b;
*b=temp;
}
void sort(int x[],int n)
{
int i,j;
for(i=0;i<n-1;i++) //一共进行n-1次循环
{
for(j=0;j<n-1-i;j++)
{
if(x[j]>x[j+1])
swap(&x[j],&x[j+1]);
}
}
}
int main()
{
int i;
int a[10]={9,8,7,6,5,4,3,2,1,0};
sort(a,10);
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}
选择排序法
#include<stdio.h>
void swap(int *a,int *b)
{
int temp;
temp=*a;
*a=*b;
*b=temp;
}
void sort(int x[],int n)
{
int min,i,j;
for(i=0;i<n-1;i++)
{
min=i; //min标记当前最小元素的下标
for(j=i+1;j<n;j++)
{
if(x[j]<x[min])
min=j;
}
if(min!=i)
{
swap(&x[i],&x[min]);
}
}
}
void main()
{
int i;
int a[10]={9,8,7,6,5,4,3,2,1,0};
sort(a,10);
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
}
快速排序法
#include<stdio.h>
void quicksort(int arr[10],int l,int r)
{
if(l<r)
{
int i=l,j=r;
int x=arr[l];
while(i<j)
{
while(i<j&&arr[j]>x)
j--;
if(i<j)
{
arr[i]=arr[j];
i++;
}
while(i<j&&arr[i]<x)
i++;
if(i<j)
{
arr[j]=arr[i];
j--;
}
}
arr[i]=x;
quicksort(arr,l,i-1);
quicksort(arr,i+1,r);
}
}
int main()
{
int i;
int a[10]={9,8,7,6,5,4,3,2,1,0};
quicksort(a,0,9);
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}
- 用冒泡,选择,快速排序的方法排序
- 四种基本的排序方法:冒泡排序,选择排序,插入排序,快速排序
- java几种基本的排序方法,快速排序,冒泡排序,选择排序,插入排序
- 快速,冒泡,选择排序
- 冒泡,选择,快速排序
- 选择,冒泡,快速排序
- 冒泡,选择,快速排序
- 冒泡、选择、快速排序
- JAVA 数组的排序方法冒泡、选择、快速、数组递增
- JAVA 数组的排序方法冒泡、选择、快速、数组递增
- 排序-冒泡,快速(选择排序)
- 【排序】快速排序 冒泡排序 选择排序
- 快速排序,冒泡排序,直接选择排序的算法实现
- 冒泡排序、选择排序、快速排序的比较
- 冒泡排序,选择排序,快速排序的Java实现
- 常见排序方法(冒泡排序、选择排序、插入排序、希尔排序和快速排序)
- java实现的冒泡、选择、快速排序
- 冒泡,选择,快速排序的实现
- JAVA中堆和栈的区别
- Service
- 类加载器和代理
- android双进程守护
- Python time模块函数与时间格式关系图解
- 用冒泡,选择,快速排序的方法排序
- 15_09_08 返回值类型错误
- CSDN-markdown编辑器
- 制作一个USB 多启动盘(MBR)
- Android:利用selector优化布局,提升用户体验
- enumeration与itertor
- 常用事件响应实习方式
- 反射
- iOS开发个人独立博客收集