using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace mergeSort { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private int[] data = new int[25]; private void button1_Click(object sender, EventArgs e) { listBox1.Items.Clear(); Random R = new Random(); for (int i = 0; i < data.Length; i++) listBox1.Items.Add(R.Next(1, 100).ToString()); } private void dspData() { listBox2.Items.Clear(); for (int i = 0; i < data.Length; i++) listBox2.Items.Add(data[i].ToString()); } private void setData() { for (int i = 0; i < data.Length; i++) { listBox1.SelectedIndex = i; data[i] = int.Parse(listBox1.SelectedItem.ToString()); } listBox1.SelectedIndex = -1; } private void mergeSort(ref int[]a, int L, int R) { // L: 左カーソル, R:右カーソル, C:中央カーソル if (L >= R) return; int C = (L + R) / 2; mergeSort(ref a, L, C); mergeSort(ref a,C+1,R); int[] temp = new int[R - L + 1]; int p = 0, i, j = 0, k = L; for (i=L; i <= C; i++) temp[p++] = a[i]; while(i<=R && j