实施具有错误结果的快速排序算法。我可以在视频中找到我想要做的详细信息:https://courses.edx.org/courses/course-v1:HarvardX+CS50+X/courseware/cdf0594e6a80402bbe902bb107fd2976/22251a2b00ac42788c70ca6f6ccbe7fd/ break命令是否将我从内循环或两个循环中取出?您将在下面找到代码,欢迎任何帮助。
int main (void)
{
// Array of integers to be sorted
int list[] = { 3, 9, 8, 5, 7, 6, 4, 2, 1};
int arrayIndexLimit = (sizeof (list) / sizeof (int)) - 1;
int temp = 0;
// "J" separates sorted part of array from unsorted one
for (int j = 0; j < arrayIndexLimit; j++)
{
// Find smallest value in unsorted part of array
for (int i = j; i <= arrayIndexLimit; i++)
{
// Put smallest value in jth position
if (list[i] < list[arrayIndexLimit])
{
temp = list[j];
list[j] = list[i];
list[i] = temp;
break;
}
// Pivot (last item of array) is the smallest
if (i == arrayIndexLimit)
{
temp = list[i];
list[i] = list[j];
list[j] = temp;
break;
}
}
// Print sorted list
}