今天学习了数据结构,遇到了一个关于算法的面试题,然后从中想到了冒泡排序和选择排序对一个数组从小到大的排序的方法,今天分享给大家,顺便记录下我的学习经历吧。
要求:对数组[6,3,8,2,9,1]进行从小到大的排序
想法:相邻的两个位置进行对比,如果大的那个换到右边,小的那个换到左边。上代码!
var arr = [6,3,8,2,9,1];
var len = arr.length;
for(var i=0;i<arr.length;i++){
//len-1-i的意思是数组最后那个的长度
for(var j=0;j<len-1-i;j++){
if(arr[j]>arr[j+1]){
var temp = arr[j];//因为arr[j]会被赋值,所有要先保存一下
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
要求:对数组[49,27,65,97,76,12,38]进行从小到大的排序
想法:创建一个指针先指向第一位置,然后另一个指针扫后面所有的,找到最小的,跟第一个指针互换位置
var arr = [49,27,65,97,76,12,38];
var len = arr.length;
var pont = null;//设定一个指针
for(var i=0;i<arr.length;i++){
pont = i;//指针先指向第一个位置
for(var j=i+1;j<arr.length;j++){
if(arr[point] > arr[j]){
pont = j;
}
}
var temp = arr[i];
arr[i] = arr[point];
arr[point] = temp;
}
要求:把数组[{‘brand’:‘可乐’,‘price’:3,‘year’:2021},{‘brand’:‘薯片’,‘price’:7,‘year’:2020},{‘brand’:‘朗姆酒’,‘price’:200,‘year’:1999},{‘brand’:‘薯条’,‘price’:7,‘year’:2021},{‘brand’:‘营养快线’,‘price’:5,‘year’:2021}] 安装价格从小到大排序,如果价格一样,价格按从大到小排序。
想法:用刚才的选择排序来实现
var arr = [{'brand':'可乐','price':3,'year':2021},{'brand':'薯片','price':7,'year':2020},{'brand':'朗姆酒','price':200,'year':1999},{'brand':‘薯条’,'price':7,'year':2021},{'brand':‘营养快线’,'price':5,'year':2021}];
var len = arr.length;
var point = null;
for(var i=0; i<arr.length;i++){
point = i;
for(var j=i+1;j<arr.lenth;j++){
if(arr[pont]['price'] > arr[j]['price']){
point = j;
}else if(arr[point]['price'] > arr[j]['price'] && arr[point]['year'] < arr[j]['year']){
point = j;
}
}
var temp = arr[i];
arr[i] = arr[point];
arr[point] = temp;
}
这样就实现了,题目要求的排序了。如果有喜欢前端的伙伴,可以关注我一下,我会每周不定期,分享前端的小知识点,一起学习进步。
本文实例讲述了PHP设计模式之策略模式(Strategy)入门与应用。分享给大家供大家...
从微信服务器中下载文件到本地的实例代码,如下所示: //从微信服务器中下载文件...
17-1 3的倍数 当数据特别大时可以用字符数组或字符串储存 例如0npow101000 可用i...
今天捣鼓umbraco,在本地都弄好了,结果放到服务器里面却出现了异常。网站找了好...
本文实例为大家分享了JavaScript实现alert弹框的具体代码,供大家参考,具体内容...
DIV+css的结构 你正在学习CSS布局吗?是不是还不能完全掌握纯CSS布局?通常有两...
有时我们需要在一个页面上使用多个Fck的实例,首先需要按照id获取fck的实例。例...
opencv这个工具来进行图像处理。大致是使用C++语言编写程序实现识别算法的实现,...
看了很多关于索引的博客,讲的大同小异。但是始终没有让我明白关于索引的一些概...
1. soar 地址: https://github.com/XiaoMi/soar star: 6.2k fork: 912 SQL自动优...