千锋Web前端培训学员分享 冒泡排序和选择排序
推荐
在线提问>>
来千锋Web前端培训班之前我并没有什么基础,对编程有很多陌生感,看着很多的代码完全不知所云。因此刚开始学习样式和标签时感觉有点吃力,但是随着时间的推移和学习的深入,在老师的耐心指导下我收获颇丰。在这里的每一天都很充实,每天有大量的新知识要学,短短一个月,我就可以熟练的制作PC端以及移动端的静态页面。接下来我就简单分享一下冒泡排序和选择排序的区别。
冒泡排序:数组中的元素两两比较,如果第一个值比第二个值大,交换位置,这样一来,最大值排在最后;进行第二轮比较,得到第二大的值,以此类推。
Var arr1 = [9,20,3,8,5,11];
Function bubbleSort(arr){
外层循环控制轮数
For(i=1;i
For(j=o,j
If(arr[j]>arr[j+1]){
Var temp=arr[j];
Arr[j]=arr[j+1];
Temp=arr[j]
}
}
}return arr;
}
Console.log(bubble.sort(arr1))
选择排序:假设第一个数为最小值,设一个minindex对应最小值索引,让假设的这个最小数值和后面值进行比较,有比它小的,改变minindex的值,然后再用minindex指向的那个值好的后面的值进行比较,一轮之后,确定minindex的值(最小),让minindex对应的值和第一个值交换位置,假设第二个数为最小值,以此类推。
Function selectsort(arr){
For(var i=1;i
Var minIndex=i;(假设当前值为最小值)
For(var j=i+1;j
If(var[minIndex]>arr[j]){
minIndex=j;
}
}
Var temp=arr[i];
Arr[i]=arr[minIndex];
Arr[minIndex]=temp
}return arr;
}Console.log(selectSort(arr1)
)
通过比较近期所学的内容,我发现其实一阶段所学的东西大部分是以记忆和敲代码为主。不像二阶段这样有太多的依靠思维逻辑,如果是没有什么基础的话真的是比别人人多敲敲多记记。只要你跟着老师的节奏慢慢的理解,会发现没有想象中的那么难,学习还是比较有成就感的。当然,现在也仅仅是刚开始,很多东西都无法实现,很多东西只能做一些类似的效果,但这让我更加向往后面的学习内容,因为只有学的更多才更充实,只有掌握更多的知识才能掌握求职主动权。