主要学习排序
Quicksort 快排,采用边搜索边排序的方法,首先设置i=0,j=数组大小-1
随后利用递归的方法来继续流程
代码:来自百度百科
void Qsort(int a[], int low, int high)
{
if(low >= high)
{
return;
}
int first = low;
int last = high;
int key = a[first];/*用字表的第一个记录作为枢轴*/
while(first < last)
{
while(first < last && a[last] >= key)
{
--last;
}
a[first] = a[last];/*将比第一个小的移到低端*/
while(first < last && a[first] <= key)
{
++first;
}
a[last] = a[first];
/*将比第一个大的移到高端*/
}
a[first] = key;/*枢轴记录到位*/
Qsort(a, low, first-1);
Qsort(a, first+1, high);
}
猜测应该是由于 first的位置不固定,导致递归的次数不固定,导致时间复杂度不固定
除此以外学习了 Stable_sort 从后到前字母进行Stable_sort便可以完成字典序的排序,而Sort具有随机性有可能会使得原有的顺序发生变化,所以字典序不推荐使用sort进行排序。
昨天体测,现在全身散架,这一年身体素质差了不少,胖了十斤.