1.冒泡排序
#include <stdio.h>
void mppx(int* arr,int n)
{
int temp;
for(int i=0;i<n;i++)
{
for(int j=0;j<n-i;j++)
{
if(arr[j]>arr[j+1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
return;
}
int main(int argc, const char *argv[])
{
int arr[] = {11,22,55,77,99,66,33,44,88};
int n = sizeof(arr)/sizeof(arr[0])-1;
mppx(arr,n);
for(int i=0;i<n+1;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
运行结果
2.选择排序
#include <stdio.h>
void xzpx(int arr[],int n)
{
int temp;
int i,j;
for(i = 0;i<n-1;i++)
{
int min = i;
for(j=i+1;j<n;j++)
{
if(arr[min]>arr[j])
{
min = j;
}
}
if(min != i)
{
temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
}
for(i=0 ;i<n;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
return;
}
int main(int argc, const char *argv[])
{
int arr[] = {11,22,54,80,66,99,40,12};
int n = sizeof(arr)/sizeof(arr[0]);
xzpx(arr,n);
return 0;
}
运行结果
3.插入排序
#include <stdio.h>
void crpx(int arr[],int n)
{
int i,j;
int key;
for(i=1;i<n;i++)
{
key = arr[i];
for(j=i-1;j>=0 && arr[j]>key;j--)
{
arr[j+1] = arr[j];
}
arr[j+1] = key;
}
for(int z=0;z<n;z++)
{
printf("%d ",arr[z]);
}
printf("\n");
return;
}
int main(int argc, const char *argv[])
{
int arr[] = {15,36,78,95,76,55,14};
int n = sizeof(arr)/sizeof(arr[0]);
crpx(arr,n);
return 0;
}
运行结果