C语言的排序问题?过程应该没错结果输出?
问题描述:
答
两个for循环写错了
for(int i=0;i<5-1;i++)
for(int k=0;k<5-k-1;k++)
答
答
代码如下,如有帮助,请采纳一下,谢谢:
#include <stdio.h>
int main()
{
int arr[5] = {2,1,3,4,5};
for (int i = 0; i < 5-1;i++)
{
int l;
for (int k = 0; k < 5-i-1;k++)
{
if (arr[k] > arr[k+1])
{
l = arr[k];
arr[k] = arr[k+1];
arr[k+1] = l;
}
}
}
printf("排序后:\n");
for(int i = 0; i < 5; i++)
printf("%d ",arr[i]);
getchar();
getchar();
return 0;
}
答
template<class Elem>
void bubsort(Elem A[],int n)
{
for(int i = 0;i < n - 1;i++)
for(int j = n - 1;j > i;j--)
if(A[j] < A[j-1])
swap(A,j,j-1);
}
仅供参考,冒泡排序,望采纳,不懂的可以关注私信我。
答