冒泡排序
![在这里插入图片描述](https://img-blog.csdnimg.cn/21bcf98c54dd4f47b33cecbae3a5313e.png)
#include <stdio.h>
void jiaohuan(int *k, int *l)
{
int c =*k;
*k=*l;
*l=c;
}
void maopaosort(int *a, int n)
{
for(int j=1;j<n;j++){
for(int i=0;i<j;i++){
if(a[i]>=a[j]) jiaohuan(a+i,a+j);
}
}
}
int main()
{
int arr[]={15,44,54,24,65,74,20,3,0,62};
int sz=sizeof(arr)/sizeof(int);
maopaosort(arr, sz);
for(int i=0;i<sz;i++){
printf("%d ",arr[i]);
}
}
快速排序
![在这里插入图片描述](https://img-blog.csdnimg.cn/1fa7e22b67db413b98f745e53ffaf5e9.png)
#include <stdio.h>
int f(int *k, int left,int right)
{
int tmp=k[left];
while (left < right)
{
while (left < right && k[right] > tmp) right--;
k[left] = k[right];
while (left< right && k[left] <= tmp) left++;
k[right] = k[left];
}
k[left] = tmp;
return left;
}
void quicksort(int *a, int left ,int right)
{
if(left>right){
return;
}else{
int val=a[left];
int pos=f(a,left,right);
quicksort(a, left, pos-1);
quicksort(a, pos+1,right);
}
}
int main()
{
int arr[]={15,44,54,24,65,74,20,3,0,62};
int sz=sizeof(arr)/sizeof(int);
quicksort(arr,0,sz-1);
for(int i=0;i<sz;i++){
printf("%d ",arr[i]);
}
}
插入排序
#include <stdio.h>
void insertsort(int *a, int n)
{
for(int i=0;i<n-1;i++){
int j=i;
int t=a[j+1];
while (j>=0) {
if(a[j]>t){
a[j+1]=a[j];
j--;
}
else {
break;
}
}
a[j+1]=t;
}
}
int main()
{
int arr[100];
for(int f=0;f<10;f++){
scanf("%d",arr+f);
}
insertsort(arr,10);
for(int i=0;i<10;i++){
printf("%d ",arr[i]);
}
}
希尔排序
#include <stdio.h>
void xiersort(int *p,int n)
{
int s = 0;
int t = 0;
int i,j;
for(s = n / 2;s > 0;s /= 2)
{
for(i = s;i < n;i++)
{
t = p[i];
for(j = i - s;j >= 0 && p[j] > t;j -= s)
{
p[j + s] = p[j];
}
p[j + s] = t;
}
}
}
int main()
{
int arr[100];
for(int f=0;f<10;f++){
scanf("%d",arr+f);
}
xiersort(arr,10);
for(int i=0;i<10;i++){
printf("%d ",arr[i]);
}
}