void quick_sort(int a[], int l, int r)
{
if (l < r)
{
int i,j,x;
i = l;
j = r;
x = a[i];
while (i < j)
{
while(i < j && a[j] > x)
j--; // 从右向左找第一个小于x的数
if(i < j)
a[i++] = a[j];
while(i < j && a[i] < x)
i++; // 从左向右找第一个大于x的数
if(i < j)
a[j--] = a[i];
}
a[i] = x;
quick_sort(a, l, i-1); /* 递归调用 */
quick_sort(a, i+1, r); /* 递归调用 */
}```
```for (int i = 0; i < n-1; i++)
{for (int j = 0; j <n- i-1; j++)
{if (bishi[j][1] > bishi[j + 1][1])
{ max = bishi[j + 1][1];
bishi[j + 1][1] = bishi[j][1];
bishi[j][1] = max;
max = bishi[j + 1][0];
bishi[j + 1][0] = bishi[j][0];
bishi[j][0] = max;}
}}}```
```int ** bishi = new int* [n];
for (int i = 0; i < n; i++)
{bishi[i] = new int[2];}
for (int i = 0; i < n; i++)
delete[]bishi[i];
delete[]bishi;```
做了两道洛谷的排序题,总体上看,难度不大,就是对数组的一些知识还是掌握不到位,手边工具太多,不知道该用哪个,书看的多,题做得少,还是需要多加练习的