• 大小: 37KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-16
  • 语言: C#
  • 标签: C#  快速排序  

资源简介

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace QuickSort { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace QuickSort
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender EventArgs e)
        {
            
            
            try
            {
                int i = 0;//用于表示数组下标

                string myString = this.textBox2.Text;
                int num = Int32.Parse(this.textBox1.Text);
                int[] array = new int[num];
                
                foreach (string subString in myString.Split(‘ ‘))
                {
                    if (subString.Trim() != ““)
                    {
                        array[i] = Int32.Parse(subString);
                        i++;
                    }
                }
                QuickSort(array 0 num - 1);

                string strResult = ““; //保存排序后结果,用以显示到界面
                foreach (int number in array)
                {
                    strResult += number.ToString() + “ “;
                }
                this.textBox3.Text = strResult;
                this.label4.Text = “排序完成“;
            }
            catch (FormatException e1)
            {
                MessageBox.Show(e1.Message);
            }
            catch (IndexOutOfRangeException e2)
            {
                MessageBox.Show(e2.Message);
            }
            finally
            {

            }
            
        }
            
    

        public void QuickSort(int[] arr int low int high)
        {

        int weight;
        if(low < high) //当middle highlow为同一位置时递归结束
        {
        weight = Split(arr  low high);

        QuickSort(arr low weight-1);

        QuickSort(arr weight+1 high);
        }
        }
        public int Split(int[] arr  int low  int high) //lowhigh分别为数组小标
        {
        int pivotkey = arr[low];
        while(low < high)
        {

         while(low < high && arr[high] >= pivotkey)
        high--;
        Swap( ref arr[low] ref arr[high]);
        while(low < high && arr[low] <= pivotkey)
        low++;
                Swap(ref arr[low] ref arr[high]);
        }

         return low;

        }
        //将两数互换的方法
        public void Swap(ref int a ref int b)
        {
            int temp;
            temp = a;
            a = b;
            b = temp;
        }

        private void button2_Click(object sender EventArgs e)
        {
            this.textBox1.Text = ““;
            this.textBox2.Text = ““;
            this.textBox3.Text = ““;
            this.label4.Text = ““;
        }
        
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-10-17 12:52  QuickSort\
     目录           0  2012-11-04 16:41  QuickSort\QuickSort\
     文件         916  2012-10-17 12:52  QuickSort\QuickSort.sln
     文件       12800  2012-11-04 16:42  QuickSort\QuickSort.suo
     目录           0  2012-10-17 12:52  QuickSort\QuickSort\bin\
     目录           0  2012-10-17 12:59  QuickSort\QuickSort\bin\Debug\
     文件       20480  2012-11-04 16:41  QuickSort\QuickSort\bin\Debug\QuickSort.exe
     文件       26112  2012-11-04 16:41  QuickSort\QuickSort\bin\Debug\QuickSort.pdb
     文件        5632  2005-11-11 22:25  QuickSort\QuickSort\bin\Debug\QuickSort.vshost.exe
     文件        2945  2012-11-04 16:41  QuickSort\QuickSort\Form1.cs
     文件        6338  2012-11-04 16:41  QuickSort\QuickSort\Form1.Designer.cs
     文件        5814  2012-11-04 16:41  QuickSort\QuickSort\Form1.resx
     目录           0  2012-10-17 12:59  QuickSort\QuickSort\obj\
     目录           0  2012-11-04 16:41  QuickSort\QuickSort\obj\Debug\
     文件         842  2012-11-04 16:41  QuickSort\QuickSort\obj\Debug\QuickSort.csproj.GenerateResource.Cache
     文件       20480  2012-11-04 16:41  QuickSort\QuickSort\obj\Debug\QuickSort.exe
     文件         180  2012-11-04 16:41  QuickSort\QuickSort\obj\Debug\QuickSort.Form1.resources
     文件       26112  2012-11-04 16:41  QuickSort\QuickSort\obj\Debug\QuickSort.pdb
     文件         180  2012-10-17 12:59  QuickSort\QuickSort\obj\Debug\QuickSort.Properties.Resources.resources
     目录           0  2012-10-17 12:52  QuickSort\QuickSort\obj\Debug\TempPE\
     文件         498  2012-11-04 16:42  QuickSort\QuickSort\obj\QuickSort.csproj.FileListAbsolute.txt
     文件         468  2012-10-17 12:52  QuickSort\QuickSort\Program.cs
     目录           0  2012-10-17 12:52  QuickSort\QuickSort\Properties\
     文件        1166  2012-10-17 12:52  QuickSort\QuickSort\Properties\AssemblyInfo.cs
     文件        2874  2012-10-17 12:52  QuickSort\QuickSort\Properties\Resources.Designer.cs
     文件        5612  2012-10-17 12:52  QuickSort\QuickSort\Properties\Resources.resx
     文件        1094  2012-10-17 12:52  QuickSort\QuickSort\Properties\Settings.Designer.cs
     文件         249  2012-10-17 12:52  QuickSort\QuickSort\Properties\Settings.settings
     文件        3225  2012-10-17 12:59  QuickSort\QuickSort\QuickSort.csproj

评论

共有 条评论