How to bubble sort in C#? Writing bubble sort program
The content of this article is to introduce how to bubble sort in C#? Writing a bubble sort program. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
Considering that many interviews may examine the use of bubble sorting, I took the time to clarify my ideas. Let’s talk about the idea below:
The core of bubble sort is the comparison method. As the name suggests, the comparison method of bubble sort is like a bubble, with the largest (or smallest) number popping up.
To generally compare several numbers, we can use if(a>b) and then c=a;b=a. . . . In this method, the large number is temporarily stored in c, and then the small number is stored in a
The original smaller number continues to be compared with other numbers. The same is true for bubble sorting, but bubble sorting compares more data and needs to use a for loop.
After comparing one number, compare the next one, and loop until the last one. First find the largest number, and then find The second largest, and so on.
The implementation program is as follows:
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 BubbleUpSort { 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) { //定义两个int类型的变量,分别用来表示数组下标和存储新的数组元素 int j, temp; for (int i = 0; i < G_int_value.Length - 1; i++)//根据数组下标的值遍历数组元素 { j = i + 1; id://定义一个标识,以便从这里开始执行语句 if (G_int_value[i] > G_int_value[j])//判断前后两个数的大小 { temp = G_int_value[i];//将比较后大的元素赋值给定义的int变量 G_int_value[i] = G_int_value[j];//将后一个元素的值赋值给前一个元素 G_int_value[j] = temp;//将int变量中存储的元素值赋值给后一个元素 goto id;//返回标识,继续判断后面的元素 } else if (j < G_int_value.Length - 1)//判断是否执行到最后一个元素 { j++;//如果没有,则再往后判断 goto id;//返回标识,继续判断后面的元素 } } 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() + ", ";//向控件内添加字符串 } } } }
The design code is as follows:
namespace BubbleUpSort { partial class Frm_Main { /// <summary> /// 必需的设计器变量。 /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// 清理所有正在使用的资源。 /// </summary> /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows 窗体设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要 /// 使用代码编辑器修改此方法的内容。 /// </summary> private void InitializeComponent() { this.btn_sort = new System.Windows.Forms.Button(); this.btn_Generate = new System.Windows.Forms.Button(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.txt_str = new System.Windows.Forms.TextBox(); this.groupBox2 = new System.Windows.Forms.GroupBox(); this.txt_str2 = new System.Windows.Forms.TextBox(); this.groupBox1.SuspendLayout(); this.groupBox2.SuspendLayout(); this.SuspendLayout(); // // btn_sort // this.btn_sort.Location = new System.Drawing.Point(107, 67); this.btn_sort.Name = "btn_sort"; this.btn_sort.Size = new System.Drawing.Size(86, 23); this.btn_sort.TabIndex = 0; this.btn_sort.Text = "冒泡排序"; this.btn_sort.UseVisualStyleBackColor = true; this.btn_sort.Click += new System.EventHandler(this.btn_sort_Click); // // btn_Generate // this.btn_Generate.Location = new System.Drawing.Point(107, 70); this.btn_Generate.Name = "btn_Generate"; this.btn_Generate.Size = new System.Drawing.Size(86, 23); this.btn_Generate.TabIndex = 1; this.btn_Generate.Text = "生成随机数组"; this.btn_Generate.UseVisualStyleBackColor = true; this.btn_Generate.Click += new System.EventHandler(this.btn_Generate_Click); // // groupBox1 // this.groupBox1.Controls.Add(this.txt_str); this.groupBox1.Controls.Add(this.btn_Generate); this.groupBox1.Location = new System.Drawing.Point(12, 10); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(305, 100); this.groupBox1.TabIndex = 2; this.groupBox1.TabStop = false; this.groupBox1.Text = "生成随机数组"; // // txt_str // this.txt_str.Location = new System.Drawing.Point(6, 20); this.txt_str.Multiline = true; this.txt_str.Name = "txt_str"; this.txt_str.Size = new System.Drawing.Size(293, 44); this.txt_str.TabIndex = 4; // // groupBox2 // this.groupBox2.Controls.Add(this.txt_str2); this.groupBox2.Controls.Add(this.btn_sort); this.groupBox2.Location = new System.Drawing.Point(12, 116); this.groupBox2.Name = "groupBox2"; this.groupBox2.Size = new System.Drawing.Size(305, 97); this.groupBox2.TabIndex = 3; this.groupBox2.TabStop = false; this.groupBox2.Text = "排序随机数组"; // // txt_str2 // this.txt_str2.Location = new System.Drawing.Point(6, 20); this.txt_str2.Multiline = true; this.txt_str2.Name = "txt_str2"; this.txt_str2.Size = new System.Drawing.Size(293, 41); this.txt_str2.TabIndex = 5; // // Frm_Main // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(329, 219); this.Controls.Add(this.groupBox2); this.Controls.Add(this.groupBox1); this.Name = "Frm_Main"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "使用冒泡排序法对一维数组进行排序"; this.groupBox1.ResumeLayout(false); this.groupBox1.PerformLayout(); this.groupBox2.ResumeLayout(false); this.groupBox2.PerformLayout(); this.ResumeLayout(false); } #endregion private System.Windows.Forms.Button btn_sort; private System.Windows.Forms.Button btn_Generate; private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.GroupBox groupBox2; private System.Windows.Forms.TextBox txt_str; private System.Windows.Forms.TextBox txt_str2; } }
The above is the detailed content of How to bubble sort in C#? Writing bubble sort program. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Guide to Active Directory with C#. Here we discuss the introduction and how Active Directory works in C# along with the syntax and example.

Guide to C# Serialization. Here we discuss the introduction, steps of C# serialization object, working, and example respectively.

Guide to Random Number Generator in C#. Here we discuss how Random Number Generator work, concept of pseudo-random and secure numbers.

Guide to C# Data Grid View. Here we discuss the examples of how a data grid view can be loaded and exported from the SQL database or an excel file.

Guide to Patterns in C#. Here we discuss the introduction and top 3 types of Patterns in C# along with its examples and code implementation.

Guide to Factorial in C#. Here we discuss the introduction to factorial in c# along with different examples and code implementation.

Guide to Prime Numbers in C#. Here we discuss the introduction and examples of prime numbers in c# along with code implementation.

The difference between multithreading and asynchronous is that multithreading executes multiple threads at the same time, while asynchronously performs operations without blocking the current thread. Multithreading is used for compute-intensive tasks, while asynchronously is used for user interaction. The advantage of multi-threading is to improve computing performance, while the advantage of asynchronous is to not block UI threads. Choosing multithreading or asynchronous depends on the nature of the task: Computation-intensive tasks use multithreading, tasks that interact with external resources and need to keep UI responsiveness use asynchronous.
