【发布时间】:2014-05-10 12:59:46
【问题描述】:
问题 = 已解决,谢谢大家!
我和我的伙伴正在开发一个程序来对用户自己输入的 x 个数字进行排序。这是我们的进步。该程序不会按照我们想要的方式运行,我们已经在互联网上检查了几个小时的解决方案,但似乎没有一个有效。请帮助我们修复代码。如果我理解正确的话,它是一个“冒泡排序程序”。
另外,我们都是 c# 新手,所以如果可能,请不要使用复杂的解决方案。只需尝试使用我们当前使用的函数来修改我们的代码。谢谢!
public partial class Form1 : Form
{
List<int> nummerlista = new List<int>();
public Form1()
{
InitializeComponent();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (input.Text != "")
{
int siffra = Convert.ToInt32(input.Text);
nummerlista.Add(siffra);
// nummerlista.Add(Convert.ToInt32(input.Text));
System.Threading.Thread.Sleep(300);
input.Clear();
}
}
private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < nummerlista.Count; i++)
{
output.AppendText(Convert.ToString(nummerlista[i]) + " ");
}
int t = 0;
for (int v = 0; v < nummerlista.Count; v++)
{
for (int c = 0; c < nummerlista.Count; c++)
{
if (nummerlista[v] < nummerlista[c])
{
t = nummerlista[v];
nummerlista[v] = nummerlista[c];
nummerlista[c] = t;
}
}
}
for (int i = 0; i < nummerlista.Count - 1; i++)
{
outputSorterad.AppendText(Convert.ToString(nummerlista[i]) + " ");
}
}
}
【问题讨论】:
-
不能使用开箱即用的排序方法吗?还是某种基础研究?
-
除上述之外.. 什么不起作用?
-
不,我们不能,正如你所说,这是一个学校的基础研究项目,在这个项目中,我们几乎使用了迄今为止我们学到的所有功能。因此,如果存在,则不是使用“nummerlista.Sort”之类的功能的选项。谢谢!
-
虽然冒泡排序是蹩脚的 O(n^2) 并且像 Sort() 这样的内置方法正在使用快速排序 - 这是 O(n*log(n)),但这种方法应该可以工作(排序nummerlista 从小到大)。你能举一个没有正确排序的例子吗?
-
如果您解决了您的问题,请标记您帮助您解决问题的答案。如果您自己找到了解决方案,请回答您自己的问题。这会将帖子标记为已回答并帮助问题的未来读者。
标签: c# sorting bubble-sort