- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试用 bool 编写 SelectionSort。
void ss( int tab[], int n )
{
bool flag;
for( int i = 0; i < n; i++ )
{
int min = tab[ i ];
for( int j = i + 1; j < n; j++ )
{
if( min > tab[ j ] )
{
flag = true;
tab[ j ] = min;
}
if( flag == true )
{
int temp = tab[ i ];
tab[ i ] = min;
tab[ j ] = temp;
}
}
}
}
问题是,当我将带有值的标签:5 4 3 8 7 9 我收到带有值的标签:5 5 5 5 5 5
我哪里出错了?这个 SelectionSort 应该如何正常工作?
最佳答案
试试这个代码:
void selectionSort(int array[], int size)
{
int startScan, minIndex, minValue;
for (startScan = 0; startScan < (size - 1); startScan++)
{
minIndex = startScan;
minValue = array[startScan];
for(int index = startScan + 1; index < size; index++)
{
if (array[index] < minValue)
{
minValue = array[index];
minIndex = index;
}
}
array[minIndex] = array[startScan];
array[startScan] = minValue;
}
}
关于c++ - SelectionSort with bool - 数组的第一个值显示为整个选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33849838/
我有一个选择排序方法,可以通过lastName按升序对对象数组进行排序。在 10 个数组对象中,有 9 个排序良好。这只是最后一个未排序的对象。 测试数组对象的声明: int studentIndex
所以我在测试这段代码时注意到: public class SelectionSort{ public static void sorted(int[] array){ for
我有一个家庭作业,我必须使用以下参数“改进”SelectionSort: 使用“改进的”SelectionSort 对给定列表进行排序 在一次迭代中,找到最小和第二小的元素 将最小的和第二小的元素放在
我是初学者,现在我正在尝试第二天实现 SelectionSort 以进行练习。我使用的算法大部分时间都有效,但并非总是如此。不幸的是,我完全不清楚为什么它并不总是有效。这个例子是一个不起作用的例子。
我应该得到输出为 {-10,6,7,13,20,80,90,100} 但是我得到的输出是 {20,100,13,6,7,80,-10,90} 在选择排序中。为什么我得到这个输出?我该如何解决这个问题?
我正在尝试用 bool 编写 SelectionSort。 void ss( int tab[], int n ) { bool flag; for( int i = 0; i ta
SOF。我有一个问题,我遇到了一些困难。 下面的代码应该逐行筛选文件,有效地利用 StringTokenizer 来获取汽车类的品牌、型号、年份和里程(按顺序)并将它们存储在汽车对象中,该对象然后我添
我正在尝试在我自己编写的双向链表版本中使用选择排序算法。对于这个问题,我们可以假设除了我发布的代码之外,其他地方没有错误(至少没有与问题相关的错误)。我已经做了很多测试。 这是我的方法: public
为什么在实现选择排序时优先使用函数模板而不是将 int 数组传递给函数?如果我们只是想比较整数,为什么我们希望它可以对任何类型的数组进行操作?为什么我们在 swap 函数中使用不同的类型?我们不能再次
我是一名优秀的程序员,十分优秀!