歸併排序算法的代碼應該像合併排序算法,但它不工作,並給出了輸出0,而不是數字進行排序,什麼問題的朋友?謝謝問題在C#
private void button3_Click(object sender, EventArgs e)
{
string[] source = textBox1.Text.Split(',');
string[] source1 = textBox3.Text.Split(',');
int[] nums2 = new int[8];
int[] nums = new int[source.Length];
for (int i = 0; i < source.Length; i++)
{
nums[i] = Convert.ToInt32(source[i]);
}
int[] nums1 = new int[source1.Length];
for (int j = 0; j < source1.Length; j++)
{
nums1[j] = Convert.ToInt32(source1[j]);
}
int x = 0;
int y = 0;
int z = 0;
while (x < nums.Length && y < nums1.Length)
{
if (nums[x] < nums1[y])
{
nums2[z] = nums[x];
x++;
}
else
{
nums2[z] = nums1[y];
y++;
}
z++;
}
while (x > nums.Length){
if (y <= nums1.Length)
{
nums2[z] = nums1[y];
z++;
y++;
}
}
while (y > nums1.Length)
{
if (x <= nums.Length)
{
nums2[z] = nums[x];
z++;
x++;
}
}
string merge = "";
foreach (var n in nums2)
merge += n.ToString() + ",";
textBox4.Text = merge;
}
更容易實現一個問題是你沒有適當地命名你的按鈕。 – dreamlax 2010-12-18 08:13:12
這是熟悉IDE提供的調試器的絕佳機會。單步執行代碼並觀察變量的值。當他們的價值觀不符合您的期望時,請抓緊時間,並對您的代碼進行適當的修改。 – 2010-12-18 08:16:40
謝謝,但它的名稱是正確的 – Arash 2010-12-18 08:16:44