- 查看文件依赖项时:not a dynamic executable
方法:
- ldd ./autogen/sh
- LD_TRACE_LOADED_OBJECTS=1 ./autogen.sh
- readelf -d 你的程序 | grep NEEDED
- 设置行号,
进入/etc/vimrc(/etc/virc) 添加:set number
void QuickSort(int *arr, int low, int high)
{
if (low < high)
{
int i = low;
int j = high;
int k = arr[low];
while (i < j)
{
while (i < j && arr[j] >= k) // 从右向左找第一个小于k的数
{
j--;
}
if (i < j)
{
arr[i++] = arr[j];
}
while (i < j && arr[i] < k) // 从左向右找第一个大于等于k的数
{
i++;
}
if (i < j)
{
arr[j--] = arr[i];
}
}
arr[i] = k;
// 递归调用
QuickSort(arr, low, i - 1); // 排序k左边
QuickSort(arr, i + 1, high); // 排序k右边
}
}
static void quick_partion(int arr[], int left, int right)
{
if (left < right)
{
int left_t = left;
int right_t = right;
int priv = arr[left];
while (left_t < right_t)
{
while (left_t < right_t && arr[right_t] >= priv)
right_t--;
arr[left_t] = arr[right_t];
while (left_t < right_t && arr[left_t] < priv)
left_t++;
arr[right_t--] = arr[left_t];
}
arr[left_t] = priv;
// 递归调用
quick_partion(arr, left, left_t - 1);
quick_partion(arr, left_t + 1, right);
}
}
// 主函数
int main()
{
int array[BUF_SIZE] = { 98, 12, 56, 99, 89, 79, 10, 30, 40, 35 };
int maxlen = BUF_SIZE;
printf("排序前的数组\n");
display(array, maxlen);
quick_partion(array, 0, maxlen - 1); // 快速排序
printf("排序后的数组\n");
display(array, maxlen);
return 0;
}