(2013-07-29)排序

 

今天是我展开学习旅途的第一天,希望自己能够坚持到底,通过不断的学习,能够提升自己的专业知识。以下指示记录自己的学习经历,不做任何用途

今天学了三个东西:

1、冒泡排序

2、选择排序

3、插入排序

4、二分法查询(使用的递归,实现的二分法查找,不是很了解,这个没有学到)。

回忆冒泡排序:

冒泡排序的排序方法:比如数组arr[]中的数据,将数组中的前一个数和后一个数进行比较,数据较大的数据放在后面,数据小的放在前面,然后一直往下比较,第一轮结束后,根据数据length不断循环该数组,达到数据从小到大排序。冒泡排序就是讲大的数据提出来,跟后面的数据进行比较后,排序。

int temp=0;

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

    for(int j=0;j<arr.length-1-i;j++){     //j<arr.length-1-i:主要是数组循环一次后,length就会减少一下,提高效率

        if(arr[j]>arr[j+1]){  //判断第一个数据是否大于第二个数,如果大,就进入if

            temp=arr[j];    //将第一个数取出来,放在一个临时变量中

            arr[j]=arr[j+1];    //将第二个数放在第一个数的位置,

            arr[j+1]=temp;    //然后将放在临时变量中的数据放在第二个数的位置

        }

    }

}

回忆选择排序

选择排序的理论:将第一个数取出来,将其他得数中取出最小的数,然后和第一个数进行比较,如果第一个数大, 就往后移。这样的排序更是提高效率,比冒泡排序查询时间使用跟少。

int temp=0;

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

{

    min=arr[i];

    minIndex=i;

    for(int j=i+1,j<arr.length;j++){

        if(min>arr[j]){

            min=arr[j];

            minIndex=j;

        }

    temp=arr[i];

    arr[i]=min;
    arr[minIndex]=temp;

    }

}

你可能感兴趣的:(记录)