超过32位的时候就,直接放到了rax里面了。因为我的机器是64位的,所以正好放进去了。
这个64位感觉相当智能,他是将arr也做为了一个地址的基质,arr[4]就是在arr的基础上再加4个字节也就是外面C语言的arr【1】。然后直接传给【r】这个局部变量里去了。
桶排序,要注意用来计数的数组的最大值需要比无序数组里的最大值大一。这样才能记上数。
#include <iostream>
using namespace std;
int main()
{
int arr[7] = { 2,5,6,5,6,7,9}, test[10] = { 0 };
int i=0;
for ( i = 0; i < 7; i++)
{
test[arr[i]]++;
}
for ( i = 0; i < 10; i++)
{
while (test[i] > 0)
{
cout << i<< endl;
test[i]--;
}
}
return 0;
}