📄 选择排序.cpp
字号:
#include"stdio.h"
#define N 8
int a[8]={5,3,2,6,4,1,3,7};
void swap(int *x,int *y)
{
int w;
w=*x;
*x=*y;
*y=w;
}
void choicesort(int a[],int n)
{
int lowkey,lowindex;
int i,j;
for(i=0;i<n-1;i++)
{
lowindex=i;
lowkey=a[i];
for(j=i+1;j<n;j++)
{
if(a[j]<lowkey)
{
lowkey=a[j];
lowindex=j;
swap(&a[i],&a[lowindex]);
}
}
}
}
void bubblesort(int a[],int n)
{
int i,j;
for(i=0;i<n-1;i++)
for(j=n-1;j>i;j--)
if(a[j]<=a[j-1])
swap(&a[j],&a[j-1]);
}
int partition(int m,int n,int a[])
{
int i,j,x;
x=a[m];
i=m-1;
j=n+1;
while(i<=j+1)
{
do{j--;}while(a[j]>x);
do{i++;}while(a[i]<x);
if(i<j)swap(&a[i],&a[j]);
else return(j);
}
}
void quicksort(int m,int n)
{
int q;
if(m<n)
{
q=partition(m,n,a);
quicksort(m,q);
quicksort(q+1,n);
}
}
main()
{
//int a[8]={5,3,2,6,3,1,4,7};
//int a[N]={5,3,2,3};
int m,n,i;
m=0;n=7;
choicesort(a,N);
//bubblesort(a,N);
//quicksort(m,n);
for(i=0;i<N;i++)
printf("%4d",a[i]);
printf("\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -