作者HODALA11 (齁搭拉)
站内C_Sharp
标题[问题] 请问气泡排序法?
时间Tue Mar 22 22:12:09 2011
我是C#的超级新手
在读入一个TXT档後 如下面所示
4 10
6 12
10 8 150
8 6 100
15 20 0 0
57 62 0 0
37 52 7 100
49 49 30 55
52 64 16 20
20 26 9 130
40 30 21 73
21 47 15 97
17 63 19 29
31 62 23 47
52 33 11 5
42 41 5 160
要根据最後一个栏位做排序
排序完後前面栏位的资料不要乱掉
下面是我的程式码
for (int i = 6; i < c.Length; i++)
{
for (int j = 6; j< c.Length; j++)
{
customer[0].ST = 100000;
if (customer[j].ST > customer[j+1].ST)
{
customer[0 ].ST = customer[j].ST;
customer[j].ST = customer[j + 1].ST;
customer[j + 1].ST = customer[j].ST;
customer[0].X = customer[j].X;
customer[j].X = customer[j + 1].X;
customer[j + 1].X = customer[j].X;
customer[0].Y = customer[j].Y;
customer[j].Y = customer[j + 1].Y;
customer[j + 1].Y = customer[j].Y;
customer[0].D = customer[j].D;
customer[j].D = customer[j + 1].D;
customer[j + 1].D = customer[j].D;
}
}
}
执行後都会在
if (customer[j].ST > customer[j+1].ST)
这行出现"索引在阵列的界限之外"的错误讯息
请问是哪边有问题 还是少了什麽东西
感谢!!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.126.148.197
1F:→ HODALA11:不好意思 忘记补上第一栏为X 第二栏Y 第四栏D 第五栏是 03/22 22:16
2F:→ HODALA11:是ST 03/22 22:16
3F:→ weiyucsie:考虑j==c.Length-1的case,那一行会发生什麽事情 03/22 23:49
4F:→ weiyucsie:虽然我不知道你的c和customer有没有一样 03/22 23:50
5F:→ arcred:顺便插个嘴...内圈加到i就够了 03/23 12:02
6F:→ HODALA11:谢谢楼上两位 问题已解决 03/27 13:32