队列的概念
- 是一种特殊的线性结构,他只允许在队列的首部进行删除操作,称为“出队”
- 在队列的尾部进行增加操作,叫做“入队”;
- 当队列中没有元素是(head==tail),称为空队列
队列的原则
- 先进先出,类似于买票的方式;
队列的三个基本元素
- 一个数组,两个变量
问题描述:
- 将9个数字排序,每次都是删除第一个数字,然后将第二个数字放在数组的最后一位,一次类推,直到剩下最后一个数字,将最后一个数字也删除
解决思路:
- 因为我们不知道要循环多少次,所以用while,循环的条件是当arr.length!==1的时候,我们就一直执行循环体中的内容,在循环体中,我们先把arr中的第一个数字删掉,然后让此时arr中最后一位等于的第一个数字,并删除第一位,然后拼接好删除的数字,当arr.length==1的时候,删除数字屏获取到,吧所有的删除掉的数字拼接起来就得到了最终的答案。
-
var arr=[6,3,1,7,5,8,9,2,4]; var str=''; function sort(arr) { while(arr.length!==1) {//当队列不为空的时候进行下面的操作 var str1=arr.splice(0,1); arr[arr.length]=arr[0]; arr.splice(0,1); str+=str1; } if(arr.length==1){ var str2=arr.splice(0,1); str+=str2; } return str; } console.log(sort(arr))