觉得有缺点点请告诉我
C语言代码:
char s[30],sd[11],i,j;若为了减少变量在RAM中占的空间在char后加xdata即可,但程序代码段会增加字节
char code a[]={17,2,6,12,23,2,3,4,21,9,5};//code是为了代码空间占用少,不加会多次2百左右字节,所以上面加了个存放数组
for(i=0;i<sizeof(a);i++)
{
s[a]++;
}
//循环数组
for(i=0;i<sizeof(s);i++)
{
//将排好的数覆盖到原数组,当有重复的下标加1,数组对应的值减1
while(s)
{
sd[j]=i;
j++;
s--;
}
}
Program Size: data=51.0 xdata=0 code=84
代码执行总时间为393us。
若char xdata s[30],sd[11],i,j;
Program Size: data=9.0 xdata=43 code=169
C#代码:
string value="";
int[] s = new int[30];
int i, j = 0;
int[] a = { 17, 2, 6, 12, 23, 2, 3, 4, 21, 9, 5 };
for (i = 0; i < 11; i++)
{
s[a]++;
}
//循环数组
for (i = 0; i < 30; i++)
{
//将排好的数覆盖到原数组,当有重复的下标加1,数组对应的值减1
while (s > 0)
{
a[j] = i;//将原数组变为排序后的内容
s+=i.ToString()+" " ;
j++;
s--;
}
}
MessageBox.Show(value) ;
|