全国的做网站的公司,织梦网站打开空白,wordpress修改ftp,dedecms做多语言的网站归并排序
归并算法采用非常经典的分治策略#xff0c;每次把序列分成n/2的长度#xff0c;将问题分解成小问题#xff0c;由复杂变简单。
因为使用了递归算法#xff0c;不能用于大数据的排序。 核心代码#xff1a;
using System; using System.Text; using System.Co…归并排序
归并算法采用非常经典的分治策略每次把序列分成n/2的长度将问题分解成小问题由复杂变简单。
因为使用了递归算法不能用于大数据的排序。 核心代码
using System; using System.Text; using System.Collections.Generic; using System.Windows.Forms;
namespace WindowsFormsApp6 { public partial class Form1 : Form { Random rnd new Random((int)DateTime.Now.Ticks); Liststring slides new Liststring(); public Form1() { InitializeComponent(); BrowserReleaseHelper.SetWebBrowserFeatures(11); } private void Form1_Load(object sender, EventArgs e) { this.Text C#四种常见排序算法的可视化编程——北京联高软件开发有限公司; button1.Text 选择排序; button1.Cursor Cursors.Hand; button2.Text 冒泡排序; button2.Cursor Cursors.Hand; button3.Text 插入排序; button3.Cursor Cursors.Hand; button4.Text 快速(递归); button4.Cursor Cursors.Hand; button5.Text 快速(非递归); button5.Cursor Cursors.Hand; button6.Text 归并排序; button6.Cursor Cursors.Hand; panel1.Dock DockStyle.Top; panel2.Dock DockStyle.Fill; webBrowser1.Navigate(http://www.315soft.com); } private int[] RandArray() { int n 20; int[] dataArray new int[n]; for (int i 0; i n; i) { dataArray[i] rnd.Next(20, 100); } return dataArray; } private void button6_Click(object sender, EventArgs e) { int[] arraySource RandArray(); int[] arrayTemplate new int[arraySource.Length]; MergeSort(0, arraySource.Length - 1, ref arraySource, ref arrayTemplate); loop 0; timer1.Interval 100; timer1.Enabled true; } /// summary /// 归并排序算法 /// /summary /// param nameleft/param /// param nameright/param /// param namearraySource/param /// param namearrayTemplate/param private void MergeSort(int left, int right, ref int[] arraySource, ref int[] arrayTemplate) { if (left right) { return; } int mid (left right) 1; MergeSort(left, mid, ref arraySource, ref arrayTemplate); MergeSort(mid 1, right, ref arraySource, ref arrayTemplate); int head_left left; int head_right mid 1; int tmp_index left; while (head_left mid head_right right) { if (arraySource[head_left] arraySource[head_right]) { arrayTemplate[tmp_index] arraySource[head_left]; } else { arrayTemplate[tmp_index] arraySource[head_right]; } } while (head_left mid) { arrayTemplate[tmp_index] arraySource[head_left]; } while (head_right right) { arrayTemplate[tmp_index] arraySource[head_right]; } for (int i left; i right; i) { arraySource[i] arrayTemplate[i]; } slides.Add(Slide(button6.Text, arraySource, left, right)); } private string Slide(string title, int[] dataArray, int a, int b) { StringBuilder sb new StringBuilder(); sb.AppendLine(!DOCTYPE html PUBLIC \-//W3C//DTD XHTML 1.0 Transitional//EN\ \http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\); sb.AppendLine(html xmlns\http://www.w3.org/1999/xhtml\ ); sb.AppendLine(head); sb.AppendLine(style); sb.AppendLine(td { vertical-align:bottom;text-align:center;font-size:12px; } ); sb.AppendLine(.bar { width: (int)((webBrowser1.Width - dataArray.Length * 11) / dataArray.Length) px;font-size:12px;border:solid 1px #FF6701;background-color:#F08080;text-align:center;border-radius:3px; }); sb.AppendLine(/style); sb.AppendLine(/head); sb.AppendLine(body); sb.AppendLine(table width100% styleborder-bottom:solid 1px #E9E9E0;); sb.AppendLine(tr); sb.AppendLine(td方法 title /td); sb.AppendLine(td数据 dataArray.Length /td); sb.AppendLine(td步骤[0]/td); sb.AppendLine(/tr); sb.AppendLine(/table); sb.AppendLine(br); sb.AppendLine(table width100% styleborder-bottom:solid 15px #E9E9E0;); sb.AppendLine(tr); for (int i 0; i dataArray.Length; i) { if (i a || i b) { sb.AppendLine(td dataArray[i] div classbar styleheight: dataArray[i] * 3 px;background-color:#993333;/div/td); } else { sb.AppendLine(td dataArray[i] div classbar styleheight: dataArray[i] * 3 px;/div/td); } } sb.AppendLine(/tr); sb.AppendLine(/table); sb.AppendLine(/body); sb.AppendLine(/html); return sb.ToString(); } int loop 0; private void timer1_Tick(object sender, EventArgs e) { if (loop slides.Count (3000 / timer1.Interval)) { if (loop slides.Count) { webBrowser1.DocumentText slides[loop].Replace([0], loop / slides.Count); loop; return; } loop; return; } loop 0; } } } ——————————————————————
POWER BY 315SOFT.COM TRUFFER.CN