文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>c#实现 数据结构排序算法

c#实现 数据结构排序算法

时间:2010-09-13  来源:Jasmines

  • 插入排序

直接插入排序、希尔排序

  • 选择排序

简单选择排序、堆排序

  • 交换排序

冒泡排序、快速排序

  • 归并排序
  • 基数排序

 

1.冒泡排序

 

 

代码       //点击按纽调用冒泡排序算法
        private void button1_Click(object sender, EventArgs e)
        {
            int[] iArray = new int[] { 1, 13, 6, 99, 2, 34, 47 };
            Sortss(iArray);
            for (int m = 0; m < iArray.Length; m++)
            {
                MessageBox.Show(iArray[m].ToString());
               
            }

        }

       //冒泡排序算法
        public void Sortss(int[] list)
        {
            int i, j, temp;
            bool done = false;
            j = 1;
            while ((j < list.Length) && (!done))
            {
                done = true;
                for (i = 0; i < list.Length - j; i++)
                {
                    if (list[i] > list[i + 1])
                    {
                        done = false;
                        temp = list[i];
                        list[i] = list[i + 1];
                        list[i + 1] = temp;
                    }
                }
                j++;
            }
        }
---------------------------------------------------------------------------------------------

 

2.选择排序
       每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。
        选择排序不像冒泡排序算法那样先并不急于调换位置,第一轮(k=1)先从array[k]开始逐个检查,看哪个数最小就记下该数所在的位置于minlIndex中,等一轮扫描完毕,如果找到比array[k-1]更小的元素,则把array[minlIndex]和a[k-1]对调,这时array[k]到最后一个元素中最小的元素就换到了array[k-1]的位置。 如此反复进行第二轮、第三轮…直到循环至最后一元素 

 

代码       //点击按纽调用选择排序算法
        private void button2_Click(object sender, EventArgs e)
        {
            int[] iArray = new int[] { 1, 13, 6, 99, 2, 34, 47 };
            SelectionSort(iArray);
            for (int m = 0; m < iArray.Length; m++)
            {
                MessageBox.Show(iArray[m].ToString());
            }
        }
        
        //选择排序算法
        private int min;
        public void SelectionSort(int[] list)
        {
            for (int i = 0; i < list.Length - 1; i++)
            {
                min = i;
                for (int j = i + 1; j < list.Length; j++)
                {
                    if (list[j] < list[min])
                    {
                        min = j;
                    }
                    int temp = list[min];
                    list[min] = list[i];
                    list[i] = temp;
                }
            }

        }

-----------------------------------------------------------------------------------------------

 

 

。。。。。未完待续。

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载