zoukankan      html  css  js  c++  java
  • 四个常见的排序算法[原创]

      1using System;
      2using System.Collections.Generic;
      3using System.ComponentModel;
      4using System.Data;
      5using System.Drawing;
      6using System.Text;
      7using System.Windows.Forms;
      8
      9namespace WindowsApplication1
     10{
     11    public partial class maopaosort : Form
     12    {
     13        public maopaosort()
     14        {
     15            InitializeComponent();
     16        }

     17
     18        //冒泡排序
     19        private void button1_Click(object sender, EventArgs e)
     20        {
     21            int[] iArrary = new int[] 151361055992871234753347 };
     22            Sort(iArrary);
     23            for (int m = 0; m < iArrary.Length; m++)
     24            {
     25                this.listBox1.Items.Add(iArrary[m]);  //"{0} ",
     26            }
               
     27        }

     28
     29        public void Sort(int[] list)
     30        {
     31            int i, j, temp;
     32            bool done = false;
     33            j = 1;
     34            while ((j < list.Length) && (!done))
     35            {
     36                done = true;
     37                for (i = 0; i < list.Length - j; i++)
     38                {
     39                    if (list[i] > list[i + 1])
     40                    {
     41                        done = false;
     42                        temp = list[i];
     43                        list[i] = list[i + 1];
     44                        list[i + 1= temp;
     45                    }

     46                }

     47                j++;
     48            }

     49        }

     50
     51        private void maopaosort_Load(object sender, EventArgs e)
     52        {
     53            this.label1.Text = " 1,\n 5,\n 13,\n 6,\n 10,\n 55,\n 99,\n 2,\n 87,\n 12,\n 34,\n 75,\n 33,\n 47\n ";
     54            this.label2.Text = "1,\n5,\n3,\n6,\n10,\n55,\n9,\n2,\n87,\n12,\n34,\n75,\n33,\n47\n";
     55            this.label3.Text = "1,\n13,\n3,\n6,\n10,\n55,\n98,\n2,\n87,\n12,\n34,\n75,\n33,\n47\n";
     56            this.label4.Text = "1,\n5,\n13,\n6,\n10,\n55,\n99,\n2,\n87,\n12,\n34,\n75,\n33,\n47\n";
     57        }

     58
     59       
     60        //选择排序
     61        private void button2_Click(object sender, EventArgs e)
     62        {
     63            int[] iArrary = new int[] 1536105592871234753347 };
     64            Sort1(iArrary);
     65            for (int m = 0; m < iArrary.Length; m++)
     66            {
     67                this.listBox2.Items.Add(iArrary[m]);
     68            }
               
     69
     70        }

     71
     72        private int min;
     73        public void Sort1(int[] list)
     74        {
     75            for (int i = 0; i < list.Length - 1; i++)
     76            {
     77                min = i;
     78                for (int j = i + 1; j < list.Length; j++)
     79                {
     80                    if (list[j] < list[min])
     81                        min = j;
     82                }

     83                int t = list[min];
     84                list[min] = list[i];
     85                list[i] = t;
     86            }

     87        }

     88
     89        //插入排序
     90        private void button3_Click(object sender, EventArgs e)
     91        {
     92            int[] iArrary = new int[] 113361055982871234753347 };
     93            Sort2(iArrary);
     94            for (int m = 0; m < iArrary.Length; m++)
     95            {
     96                this.listBox3.Items.Add(iArrary[m]);
     97            }

     98        }

     99        public void Sort2(int[] list)
    100        {
    101            for (int i = 1; i < list.Length; i++)
    102            {
    103                int t = list[i];
    104                int j = i;
    105                while ((j > 0&& (list[j - 1> t))
    106                {
    107                    list[j] = list[j - 1];
    108                    --j;
    109                }

    110                list[j] = t;
    111            }

    112        }

    113
    114        //希尔排序
    115        private void button4_Click(object sender, EventArgs e)
    116        {
    117            int[] iArrary = new int[] 151361055992871234753347 };
    118            Sort3(iArrary);
    119            for (int m = 0; m < iArrary.Length; m++)
    120            {
    121                this.listBox4.Items.Add(iArrary[m]);
    122            }

    123        }

    124        public void Sort3(int[] list)
    125        {
    126            int inc;
    127            for (inc = 1; inc <= list.Length / 9; inc = 3 * inc + 1) ;
    128            for (; inc > 0; inc /= 3)
    129            {
    130                for (int i = inc + 1; i <= list.Length; i += inc)
    131                {
    132                    int t = list[i - 1];
    133                    int j = i;
    134                    while ((j > inc) && (list[j - inc - 1> t))
    135                    {
    136                        list[j - 1= list[j - inc - 1];
    137                        j -= inc;
    138                    }

    139                    list[j - 1= t;
    140                }

    141            }

    142        }

    143    }

    144}

    145
    146
  • 相关阅读:
    python的不可变对象与可变对象及其妙用与坑
    WAAPI+Python使用中的相关问题和学习记录
    开发工具使用
    面试要点5
    面试要点4
    HTTP状态码——详解
    ElasticSearch使用curl导数据报400可能原因
    elasticsearch的安装、部署
    js二级联动
    aspose.words for java操作文档doc,设置一级二级三级标题以及段落表格等详情
  • 原文地址:https://www.cnblogs.com/winnxm/p/922549.html
Copyright © 2011-2022 走看看