今天是我展开学习旅途的第一天,希望自己能够坚持到底,通过不断的学习,能够提升自己的专业知识。以下指示记录自己的学习经历,不做任何用途
今天学了三个东西:
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;
}
}