ئۆيدىكى ئالگورىزىم كىتابنى ۋاراقلاپ ئۆگەنگەن نەسىلەرنى تەكرارلاۋاتقانتىم، Stack تۈرىنى ئىشقا ئاشۇرغاندىن كىيىن ئەمىلى مىسالدىن بىرنى قىپ باقاي دەپ ئۈندىدار ئەپچاق ئىشلىتىش خاتىرىسىنى ئىشقا ئاشۇرۇپ باقتىم. ئەسكەرتىش: بۇنىڭدا پەقەت مۇشۇ ئۈنۈمنى ئىشقا ئاشۇرۇشلا كۆزدە تۇتۇلدى.
ئۈندىدار ئەپچاق ئىشلىتىش خاتىرىسىنىڭ ئالاھىدىلىكى بولسا شۇ بىز ئەڭ ئاخىرىدا ئىشلەتكەن ئەپچاق ئەڭ ئۈستىدە تۇرىدۇ، يەنى ئورنى يۆتكىلىدۇ. مەن بۇ كودتا ئالدى بىلەن بۇ ئەپچاق بۇرۇن ئېچىلغانمۇ ياقمۇ دېگەننى تەكشۈردىم. ئاندىن ئېچىلمىغان بولسا بىۋاستە ئەڭ ئۈستىگە قوشتۇم، بۇرۇن ئىشلىتىپ باققان بولسا ئاۋال يۇيىۋىتىپ ئاندىن يەنە ئۈستىگە قوشتۇم.
ئاۋال كود بىلەن نەتىجىسىنى كۆرۈپ باقايلى.
كود:
class Stack{
constructor(){
this.items = [];
}
push = function(element){
if(this.has(element)){
this.remove(element);
this.items.unshift(element);
}else{
this.items.unshift(element);
}
}
print = function(){
console.log(this.items.toString());
}
has = function(element){
return this.items.indexOf(element)>-1;
}
remove = function(element){
this.items.splice(this.items.indexOf(element),1);
}
}
let stack = new Stack();
//先打开“Elgek”小程序阅读帖子
console.log("先打开“Elgek”小程序阅读帖子");
stack.push("Elgek");
stack.print();
console.log("***********************");
//打开“Subat音乐广播”听听歌曲
console.log("打开“Subat音乐广播”听听歌曲");
stack.push("Subat音乐广播");
stack.print();
console.log("***********************");
// stack.push("Subat有声读物");
// stack.print();
//打开小游戏 “跳一跳”玩一会儿
console.log("打开小游戏 “跳一跳”玩一会儿");
stack.push("跳一跳");
stack.print();
console.log("***********************");
//再打开“Elgek”小程序继续阅读帖子
console.log("再打开“Elgek”小程序继续阅读帖子");
stack.push("Elgek");
stack.print();
console.log("***********************");
//再打开“Subat音乐广播”继续听歌
console.log("再打开“Subat音乐广播”继续听歌");
stack.push("Subat音乐广播");
stack.print();
console.log("***********************");
// 把跳一跳删除掉,别再玩了
console.log("把跳一跳删除掉,别再玩了");
stack.remove("跳一跳");
stack.print();
console.log("***********************");
//打开“Elipbe”学习母语
console.log("打开“Elipbe”学习母语");
stack.push("Elipbe");
stack.print();
console.log("***********************");
//再打开“Elgek”小程序继续阅读帖子
console.log("再打开“Elgek”小程序继续阅读帖子");
stack.push("Elgek");
stack.print();
console.log("***********************");
نەتىجىسى:
先打开“Elgek”小程序阅读帖子
Elgek
***********************
打开“Subat音乐广播”听听歌曲
Subat音乐广播,Elgek
***********************
打开小游戏 “跳一跳”玩一会儿
跳一跳,Subat音乐广播,Elgek
***********************
再打开“Elgek”小程序继续阅读帖子
Elgek,跳一跳,Subat音乐广播
***********************
再打开“Subat音乐广播”继续听歌
Subat音乐广播,Elgek,跳一跳
***********************
把跳一跳删除掉,别再玩了
Subat音乐广播,Elgek
***********************
打开“Elipbe”学习母语
Elipbe,Subat音乐广播,Elgek
***********************
再打开“Elgek”小程序继续阅读帖子
Elgek,Elipbe,Subat音乐广播
***********************
ئەمىلىي ئۈنۈمدە پەقەت ئەڭ ئاخىرقى ھالىتىنىلا رەسىمگە تۇتتۇم.
بۇ ئۈنۈمنىڭ ئىشقا ئاشۇرۇشنىڭ ئۇسۇلىلىرى كۆپ خىل بولۇپ بۇ پەقەت بىر خىلى، كىيىنچە باشقا خىل ئۇسۇللاردا ئىشقا ئاشۇرسام داۋاملىق يوللاپ قويىمەن.