1 c# visual-studio-2010 bubble-sort
所以我有这个家庭作业(唯一的原因,为什么一个人会做Bubbleort)
使用visual studio我制作了2个阵列,其中一个是未分类数字,第二个是数字排序.
我的代码将在此处粘贴,只会在两个数组中返回0,我不知道我做错了所以请帮帮我!
namespace WindowsFormsApplication5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnBubbleSort_Click(object sender, EventArgs e)
{
int[] numbers = new int[100];
foreach (int value in numbers)
{
lstBubbleUnorderd.Items.Add(value);
}
for (int y = 0; y < 100; y++)
{
for (int i = 100 - 1; i > y; --i)
{
if (numbers[i] <= numbers[i - 1])
{
int temp = numbers[i];
numbers[i] = numbers[i - 1];
numbers[i - 1] = temp;
}
}
}
for (int j = 0; j < 100; j++)
{
lstBubbleOrderd.Items.Add(numbers[j]);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
================================================== =========================================
我的代码现在正在工作,感谢你的家伙
我的新代码如下:
namespace WindowsFormsApplication5 {public partial class Form1:Form {
public Form1()
{
InitializeComponent();
}
private void btnBubbleSort_Click(object sender, EventArgs e)
{
lstBubbleOrderd.Items.Clear();
lstBubbleUnorderd.Items.Clear();
Random RndNmbrs = new Random();
int n = RndNmbrs.Next();
for (int a = 0; a < 10; a++)
lstBubbleUnorderd.Items.Add(RndNmbrs.Next(0, 10));
int[] numbers = new int[lstBubbleUnorderd.Items.Count];
for (int i = 0; i < numbers.Length; i++)
{
numbers[i] = int.Parse(lstBubbleUnorderd.Items[i].ToString());
}
for (int y = 0; y < numbers.Length; y++)
{
for (int i = numbers.Length - 1; i > y; --i)
{
if (numbers[i] <= numbers[i - 1])
{
int temp = numbers[i];
numbers[i] = numbers[i - 1];
numbers[i - 1] = temp;
}
}
for (int j = 0; j < numbers.Length; j++)
{
lstBubbleOrderd.Items.Add(numbers[j]);
}
}
private void button1_Click(object sender, EventArgs e)
{
}
}
}
Run Code Online (Sandbox Code Playgroud)
您在此处创建了数组:
int[] numbers = new int[100];
Run Code Online (Sandbox Code Playgroud)
但是你从来没有用任何东西填充它,所以它的所有值都被初始化为零.
或许你打算做的是这样的事情(结合leemo答案的建议)?
int[] numbers = new int[lstBubbleUnorderd.Items.Count];
for (int i = 0; i < numbers.Length; i++)
{
numbers[i] = int.Parse(lstBubbleUnorderd.Items[i].ToString());
}
for (int y = 0; y < numbers.Length; y++)
{
for (int i = numbers.Length - 1; i > y; --i)
{
if (numbers[i] <= numbers[i - 1])
{
int temp = numbers[i];
numbers[i] = numbers[i - 1];
numbers[i - 1] = temp;
}
}
}
for (int j = 0; j < numbers.Length; j++)
{
lstBubbleOrderd.Items.Add(numbers[j]);
}
Run Code Online (Sandbox Code Playgroud)
这将会读取已输入的任何号码lstBubbleUnorderd
到您的numbers
阵列,排序,然后打印它们放在lstBubbleOrderd
.
归档时间: |
|
查看次数: |
400 次 |
最近记录: |