这是我用C ++实现的计数排序代码:
#include<iostream>
#include<stdlib.h>
using namespace std;
void counting_sort(int [], int, int);
main()
{
int n,k = 0, a[15];
cout << "Enter the number of input : ";
cin >> n;
cout << "\nEnter the elements to be sorted :\n";
for ( int i = 1; i <= n; i++)
{
cin >> a[i];
if(a[i] > k)
{
k = a[i];
}
}
counting_sort(a, k, n);
system("pause");
//getch();
}
void counting_sort(int a[], int k, int n)
{
int i, j;
int b[15], c[100];
for(i = 0; i <= k; i++)
c[i] = 0;
for(j =1; j <= n; j++)
c[a[j]] = c[a[j]] + 1;
for(i = 1; i <= k; i++)
c[i] = c[i] + c[i-1];
for(j = n; j >= 1; j--)
{
b[c[a[j]]] = a[j];
c[a[j]] = c[a[j]] - 1;
}
cout << "\nThe Sorted array is : ";
for(i = 1; i <= n; i++)
cout << b[i] << " " ;
}
编译时出现错误,表明&#34; Stray \ 1在程序&#34;在第3行Col 1.我尝试使用Dev C ++和Ideone。两者都显示相同的错误。我也尝试将代码复制到一个新文件但是徒劳无功。请帮我纠正。
答案 0 :(得分:2)
代码中有一个(隐藏的)无效字符(第3行),与http://ideone.com/ALbZbr上的代码一起复制。尝试编辑此代码,您将在第3行看到一个红点(无效字符)。< / p>
#include<iostream>
#include<stdlib.h>
using namespace std; . <--
void counting_sort(int [], int, int);
main()
{
删除此无效字符,您的代码最终会运行。