排序算法收集

选择算法:

算法的步骤如下:

1)、先假设A[1]中的数最小,记下此时的位置P=1;

2)、依次把A[P]和A[I](I从2变化到10)进行比较,每次比较时,若A[I]的数比A[P]中的数小,则把I的值赋给P,使P总是指向当前所扫描过的最小数的位置,也就是说A[P]总是等于所有扫描过的数最小的那个数。在依次一一比较后,P就指向10个数中最小的数所在位置,即A[P]就是10个数中最小的那个数;

3)把A[P]和A[1]的数对调,那么最小的数就在A[1]中去了,也就是在最前面了。

 

public int[] Sort(int[] arr)

    {

        for (int i = 0; i < arr.Length - 1; i++)

        {

            int min = i;

            for (int j = i + 1; j < arr.Length; j++)

            {

                if (j - 1 > 0)

                {

                    if (arr[j - 1] < arr[min])

                    {

                        min = j - 1;

                    }

                    int t = arr[min];

                    arr[min] = arr[i];

                    arr[i] = t;

                }

            }

        }

        return arr;

    }

 

 

 冒泡算法: 

 1)从数组A[1]到A[10],把相临的两个数两两进行比较。即A[1]和A[2]比较,比较完后A[2]再与A[3]比较,……最后是A[9]和A[10]比较。

 (2)在每次进行比较的过程中,如果前一个数比后一个数大,则对调两个数,也就是说把较大的数调到后面,较小的调到前面。比如在第一次的比较中,如果A[1]比A[2]大则A[1]和A[2]的值就互换。下图用6个数据来说明以上的算法。

     假设6个数据是:A[]=5  7  4  3  8  6 

A[1] A[2] A[3] A[4] A[5] A[6]

5    7    4    3    8    6     第一次,A[1]=5和A[2]=7比较,7>5,不进行对调。

       5    7    4    3    8    6     第二次,A[2]=7和A[3]=4比较,4<7,进行对调,

                                       那么第二次比较完后的数据是5  4  7  3  8  6

       5    4    7    3    8    6     第三次,A[3]=7和A[4]=3比较,3<7,进行对调,

                                       那么第三次比较完后的数据是5  4  3  7  8  6

       5    4    3    7    8    6     第四次,A[4]=7和A[5]=8比较,8>7,不进行对调。

       5    4    3    7    8    6     第五次,A[6]=6和A[5]=8比较,6<8,进行对调,

                                       那么第五次也就是最后一次的结果是

5    4    3    7    6    8

private int[] sort(int[] m)

    {


        for (int i = 0; i < m.Length-1; i++)

        {

            for (int j = i + 1; j < m.Length; j++)

            {

                if (m[j] < m[i])

                {

                    int temp = m[i];

                    m[i] = m[j];

                    m[j] = temp;

                }

            }

        }

        return m;

    }

posted on 2009-12-07 17:22  滴d  阅读(132)  评论(0编辑  收藏  举报

导航