1,•toprimitive(number): 將乙個物件值轉換為原始值,首先呼叫obj.valueof().如果返回值是乙個原始值,則返回這個原始值.如果不是,則再呼叫obj.tostring().如果返回值是個原始值,返回這個原始值.否則,丟擲typeerror異常.
•toprimitive(string): 和上面的方法類似,只是優先呼叫obj.tostring()方法而不是obj.valueof().
2,建立物件的方法:
var x=new object();
var x=;
var obj={
name={
first:bob;
last:mike;
age:23;
3,建立陣列的方法:
var x=new array();
var x=[ ];
4,建立和使用棧:利用陣列實現資料的儲存刪除讀取等。
棧是先進後出。
function stack(){
var items;
this.push=function(element){
items.push(element);
this.pop=function(){
return items.pop();
this.peek=function(){
return items.peek();
this.isempty=function(){
returrn items.length==0;
this.size=function(){
return items.length;
this.clear=function (){
items=;
this.print=function(){
return items.tostring();
使用棧:
var stack=new stack();
stack.push(5);
stack.push(8);stack.pop();stack.size();stack.print();stack.peek();stack.isempty();stack.clear();
定義棧之後使用其將十進位制轉換成二進位制:
function divideby2(decnumber){
var remstack=new stack();
var rem;
var binarystring='';
while(decnumber!=0){
rem=math.floor(decnumber%2);
remstack=.push(rem);
decnumber=math.floor(decnumber/2);
while(remstack.length!=0){
binarystring+=remstack.pop();
return jam;
divideby2(255);//11111
十進位制轉換成任意進製:
function divideby2(decnumber, base){
var remstack=new stack();
var rem;
var binarystring='';
var digits="0123456789abcdef";
while(devnumber>0){
rem=math.floor(devnumber%base);
remstack.push(rem);
devnumber=math.floor(devnumber/base);
while(!remstack.isempty()){
binarystring+=digits[remstack.push()];
return binarystring;
5,佇列:佇列和棧的實現類似,利用陣列實現對資料的操控,但是佇列是先進先出。
function queue(){
var item=[ ];
this.enqueue=function(element){
item.push(element);
this.dequeue=function(){
return item.shift();
this.font()=function(){
return item[0];
this.isempty()=function(){
return item.length==0;
this.size()=function(){
return item.length;
this.clear=function(){
item=[ ];
splice() 方法向/從陣列中新增/刪除專案,然後返回被刪除的專案。
棧(Stack)和佇列(Queue)
棧和佇列是兩種重要的線性結構。從資料結構角度看,棧和佇列也是線性表,其特殊性在於棧和佇列的基本操作是線性表操作的子集,它們是操作受限的線性表,因 此,可稱為限定性的資料結構。但從資料型別角度看,它們是和線性表大不相同的兩類重要的抽象資料型別。由於它們廣泛應用在各種軟體系統中,因此在物件導向 的程式設...
棧stack 和 佇列queue
stl中,sort的預設排序為less,也就是說從小到大排序 priority queue預設是less,也就說大頂堆 map預設是less,也就說用迭代器迭代的時候預設是小的排在前面 set預設是less,也就是說用迭代器迭代的時候是從小到大排序的。棧和佇列的區別是啥?吃多了拉就是佇列,吃多了吐就...
棧(stack)和佇列(queue)
棧的定義 特點 filo 是一種只能在一端進行插入或刪除操作的線性表。其中允許進行插入或刪除操作的一端稱為棧頂 top 棧頂由乙個稱為棧頂指標的位置指示器 對於順序棧,就是記錄棧頂元素所在陣列位置標號的乙個整型變數 對於鏈式棧,就是記錄棧頂元素所在結點位址的指標 來指示,它是動態變化的。表的另一端稱...