【发布时间】:2020-04-15 17:01:00
【问题描述】:
当我单击按钮冒泡排序时,我创建了一个具有两个列表框(未排序和排序)的表单,它出现在未排序的列表框中,但现在想要单击另一个按钮,例如sort 并在已排序的列表框中以正确的顺序对它们进行排序,并清除未排序的列表框。
我是编程新手,因此很难理解编码。我已经搜索了我需要的内容,但似乎找不到明确的答案。
我的代码如下:
这会将它添加到我的未排序列表框中:
int[] myNumbers = { 5, 1, 8, 9, 15 };
lstunsorted.Items.Add(5);
lstunsorted.Items.Add(1);
lstunsorted.Items.Add(8);
lstunsorted.Items.Add(9);
lstunsorted.Items.Add(15);
这是我的排序按钮下的内容,用于移动它们并进行排序:
for (int intCount = lstunsorted.SelectedItems.Count - 1; intCount >= 0; intCount--)
{
lstsorted.Items.Add(lstunsorted.SelectedItems[intCount]);
lstunsorted.Items.Remove(lstunsorted.SelectedItems[intCount]);
}
int[] arr = { 5, 1, 8, 9, 15 };
int temp = 0;
for (int i = 0; i < arr.Length; i++)
{
for (int J = 0; J < arr.Length; J++)
{
if (arr[i] > arr[J])
{
temp = arr[i];
arr[i] = arr[J];
arr[J] = temp;
}
}
}
任何帮助都将不胜感激,并以初学者的形式进行解释,让我了解发生了什么。
【问题讨论】:
-
您的代码执行顺序似乎不正确。您能否将 cmets 放入您的代码中以显示您试图从相应的 sn-p 中实现什么?那会很有帮助。另外,我没有看到您对编号进行排序,然后将其填充到排序的列表框中。相反,您似乎正在填充已排序的列表框,因为它来自未排序的列表框,并在不同的空间中完全应用排序逻辑
-
您应该在排序后将项目添加到列表框中。因此,当您单击 Bubblo Sort 按钮时,未排序的项目将显示在未排序的列表框中。单击排序按钮时,您应该 1. 获取未排序列表框中的所有项目; 2. 应该对它们进行排序; 3.将它们添加到排序列表框
-
@Codeek - 这会将它添加到我的未排序列表框中:这只是将项目添加到列表框但不确定我是否需要 int[] myNumbers = { 5, 1, 8, 9, 15 }; .这就是我在排序按钮下的移动和排序:我个人认为这都是错误的,因为我是从我看到的视频中复制它的。
-
@OguzOzgul - 这正是我想要做的,但因为我是一个初学者,这对我来说是全新的,我正在学习。 JonasH 的回答阐明了我需要什么但仍然有问题
-
您的排序在一个完全不同的数组上运行。(
arr)。您需要直接对lstsorted.Items进行排序,或者对arr进行排序,然后从arr填充lssortedIiems。