具体的方法不说了,网上很多,直接贴代码。
#include<cstdio>
void BubbleSort(int* A, int n)
{
for(int i = 0; i < n; i++)
for(int j = 0; j < n - 1 -i; j++)
if(A[j] > A[j+1])
{
int tmp = A[j];
A[j] = A[j+1];
A[j+1] = tmp;
}
}
void InsertSort(int* A, int n)
{
for(int i = 1; i < n; i++)
for(int j = i; j > 0; j--)
if(A[j] < A[j-1])
{
int tmp = A[j];
A[j] = A[j-1];
A[j-1] = tmp;
}
}
void SelectSort(int* A, int n)
{
for(int i = 0; i < n; i++)
for(int j = i+1; j < n; j++)
if(A[j] < A[i])
{
int tmp = A[i];
A[i] = A[j];
A[j] = tmp;
}
}
int main()
{
int A[] = {11,0,23,2,3,2,1,4};
int n = sizeof(A) / sizeof(A[0]);
SelectSort(A, n);
for (int i = 0; i < n; i++)
printf("%d\t", A[i]);
printf("\n");
return 0;
}

本文提供了三种基本排序算法的C++实现:冒泡排序、插入排序和选择排序。通过具体的代码示例展示了每种算法的工作原理,并以选择排序为例演示了如何对数组进行排序。
18万+

被折叠的 条评论
为什么被折叠?



