• 经典排序----插入排序法


    前言:此代码设计的比较简洁,可能不太容易理解,插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。 

    一:截图

    二:代码

    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 InsertSort
    {
        public partial class Frm_Main : Form
        {
            public Frm_Main()
            {
                InitializeComponent();
            }
    
            private int[] G_int_value;//定义数组字段
    
            private Random G_Random = new Random();//创建随机数对象
    
            private void btn_sort_Click(object sender, EventArgs e)
            {
                if (G_int_value != null)
                {
                    for (int i = 0; i < G_int_value.Length; ++i)//循环访问数组中的元素
                    {
                        int temp = G_int_value[i];//定义一个int变量,并使用获得的数组元素值赋值
                        int j = i;
                        while ((j > 0) && (G_int_value[j - 1] > temp))//判断数组中的元素是否大于获得的值
                        {
                            G_int_value[j] = G_int_value[j - 1];//如果是,则将后一个元素的值提前
                            --j;
                        }
                        G_int_value[j] = temp;//最后将int变量存储的值赋值给最后一个元素
                    }
                    txt_str2.Clear();//清空控件内字符串
                    foreach (int i in G_int_value)//遍历字符串集合
                    {
                        txt_str2.Text += i.ToString() + ", ";//向控件内添加字符串
                    }
                }
                else
                {
                    MessageBox.Show("首先应当生成数组,然后再进行排序。", "提示!");
                }
            }
    
            private void btn_Generate_Click(object sender, EventArgs e)
            {
                G_int_value = new int[G_Random.Next(10, 20)];//生成随机长度数组
                for (int i = 0; i < G_int_value.Length; i++)//遍历数组
                {
                    G_int_value[i] = G_Random.Next(0, 100);//为数组赋随机数值
                }
                txt_str.Clear();//清空控件内字符串
                foreach (int i in G_int_value)//遍历字符串集合
                {
                    txt_str.Text += i.ToString() + ", ";//向控件内添加字符串
    
                }
            }
        }
    }
  • 相关阅读:
    回文字符串系列问题
    找两个数组的重合数字系列
    IPC最快的方式----共享内存(shared memory)
    【经典算法】——KMP,深入讲解next数组的求解
    关于SqlDateTime溢出的问题
    git操作之常见问题解决方案
    Javascript中length属性的总结
    从零开始学node(一): nodejs开发环境的配置
    使用Number.parseFloat引发的悲剧
    超链接的那些事(三): 属性target
  • 原文地址:https://www.cnblogs.com/hongmaju/p/3809330.html
Copyright © 2020-2023  润新知