js 中的 一些簡單演算法(二)之 雙層迴圈—氣泡排序
1、列印9*9乘法表
思路:腦補一下乘法表的格式,9*9就是有9列、9行組成。行和列都需要由迴圈控制。
2、列印正方形(10 * 10).document.write("<table border='1' cellspacing='0' cellpadding='0'>"); //最外面放一個大框 for(var i = 1; i <= 9; i++){ //控制行迴圈 document.write("<tr>"); for(var j = 1; j <= i; j++){ //控制列迴圈 document.write("<td>"); document.write(i + "*" + j + "=" + i * j); document.write("</td>"); } document.write("</tr>"); } document.write("</table>");
思路:類似的正方形也是10行和10列組成
for(var i = 1; i <= 10; i++){ //外層迴圈控制行
for(var j = 1; j <= 10; j++){ //內層迴圈控制列
document.write("☻");
}
document.write("<br />");
}
3、列印直角三角形。
思路:類似的直角三角形也是由行和列組成,只不過有一個條件,就是下一行始終比上一行多一列。
for(var i = 1; i <= 10; i++){ //外層迴圈控制行 for(var j = 1; j <= i; j++){ //內層迴圈控制列 document.write("☻"); } document.write("<br />"); }
小結:注意每進行一次外層迴圈,內層迴圈要徹底迴圈完畢,才會進入下一次外層迴圈。
4、氣泡排序。
給出一組數,讓進行從小到大排列。
思路:牽扯到陣列中裡的每個數都要進行兩兩比較大小。
趟數:陣列中,每一個數都要和除自己外的其他數進行比較。每個數和其他數全都比較完了稱為一趟。var array = [65, 97, 76, 13, 27, 49, 58]; for (var i = 1; i < array.length; i++) { //外層迴圈控制趟數 var isSort = true; for (var j = 0; j < array.length - 1; j++) { //內層迴圈控制兩兩比較大小的次數 if (array[j] > array[j + 1]) { var tmp = array[j]; array[j] = array[j + 1]; array[j + 1] = tmp; isSort = false; } } if (isSort) { break; } } console.log(array);
內層迴圈控制的是保證每個數都會和其他數進行比較並排列位置。
相關推薦
js 中的 一些簡單演算法(二)之 雙層迴圈—氣泡排序
1、列印9*9乘法表 思路:腦補一下乘法表的格式,9*9就是有9列、9行組成。行和列都需要由迴圈控制。 document.write("<table border='1' cellspacing='0' cellpadding='0'>"); //最外面放一個
js簡單演算法(二)如何去除一個數組中與另一個數組中的值相同的元素
codewars上面6kyu的演算法題,下面是演算法題的英文簡介 Your goal in this kata is to implement an difference function, which subtracts one list from another. I
程式設計中一些常見演算法(一)
1、向上取整:x/y向上取整 = (x + y -1)/y void main() { int x=22,y=5; int result = (x + y -1)/y; printf("%d/
java中的分散式應用(二)之各類中介軟體中用到的演算法
為了便於區分分散式系統中用到的各類中介軟體所使用的演算法,這裡記錄了他們的核心演算法,但由於個人能力有限,不涉及演算法實現,有關演算法實現請大家另尋他路,這裡只記錄中介軟體核心演算法以及簡單介
js資料結構和演算法(二)棧和佇列
基本概念 棧和佇列都是動態的集合,在棧中,可以去掉的元素是最近插入的哪一個。棧實現了後進先出。在佇列中,可以去掉的元素總是在集合中存在的時間最長的那一個。佇列實現了先進先出的策略。 棧的官方定義:棧(Stack)是一個後進先出(Last in first out,LIFO)
c#實現的一些幾何演算法(二)
續一 //關於線的一些演算法 public class GeometricClass { /* 判斷點與線段的關係,用途很廣泛 本函式是根據下面的公式寫的,P是點C到線段AB所在直線的垂足
演算法(二)之排序
排序演算法很多,常用的排序演算法有:氣泡排序、插入排序、選擇排序、歸併排序、快速排序、計數排序、基數排序、桶排序。 接下來一一介紹幾種排序的時間複雜度及優缺點。 插入排序與氣泡排序的時間複雜度相同O(n^2),開發中我們更傾向插入排序,而不是氣泡排序 排序演算法執行效率: 1.最好、最壞、平均情況時間
重學資料結構和演算法(二)之二叉樹、紅黑樹、遞迴樹、堆排序
[TOC] 最近學習了極客時間的《資料結構與演算法之美]》很有收穫,記錄總結一下。 歡迎學習老師的專欄:[資料結構與演算法之美](https://time.geekbang.org/column/intro/126) 程式碼地址:https://github.com/peiniwan/Arithmetic
JavaWeb一些簡單操作(六) --- JS中宣告全域性變數
一、JS中宣告全域性變數主要分為顯式宣告或者隱式宣告下面分別介紹。 1、使用var(關鍵字)+變數名(識別符號)的方式在function外部宣告,即為全域性變數,否則在function宣告的是區域性變數。該方式即為顯式宣告詳細如下: <script&g
運維工作中經常用到的一些知識總結(二)
Markdown Xtraback Linux Squid DenyHost 接上篇:http://blog.51cto.com/bobo365/2125121 31、screen: screen -S xxx screen -r xxx screen -D -r <session-id
JDK中JCA的簡單使用(二)---RSA加簽驗籤
Signature 類 Signature類是一個引擎類,提供加密的數字簽名演算法,例如DSA或RSAwithMD5。加密安全簽名演算法採用任意大小的輸入和私鑰,並生成一個相對較短(通常是固定大小)的位元組串——簽名。 只有私鑰/公鑰對的所有者才能建立簽名。對於擁有公鑰的任何人來說
(二)vue.js中axios的封裝(參考)
基於前文所述,axios 是一個基於Promise 用於瀏覽器和 nodejs 的 HTTP 客戶端,它有很多優秀的特性,例如攔截請求和響應、取消請求、轉換json、客戶端防禦XSRF等。 如果還對axios不瞭解的,可以移步axios文件,axios使用說明。 安裝 cnpm install axio
一些常見的排序演算法(二)
一、堆排序 如果還不瞭解滿二叉樹、完全二叉樹和最大堆(或大頂堆)的話,可以先了解一下。因為大頂堆要求根節點的元素大於其孩子,這樣得到大頂堆的堆頂的元素肯定是 序列中的最大值。清楚這些,就很容易理解堆排序了:先構造大頂堆,將大頂堆中堆頂元素與序列中末尾元素交換。這樣序列尾部的發生交換的元素是排列過的,剩下的
移動推薦演算法(二):基於簡單規則的預測
本文為轉載文章,來源為: https://blog.csdn.net/Snoopy_Yuan/article/details/72850601 一直在探索資料探勘、資料建模的案例,百度搜到這篇文章,收穫頗豐,轉載以作記錄。 前言:移動推薦演算法是阿里天池賽2015年賽題之
K-近鄰演算法的一個簡單例子(二)
接著上一個例子進行拓展,file2matrix()函式將文件中的資料轉化為記憶體中的矩陣(陣列),autoNorm()將三列資料歸一化,這裡要注意這裡使用的歸一化方法對於極值點非常敏感,可以考慮其他的方法。datingClassTest()呼叫KNN中的classify0函式
RecyclerView中ItemDecorationd的簡單使用(二)---為item設定分割線
ItemDecorationd 為 item 設定底部分割線 效果圖(圖有點醜,但意思到) 同樣先設定 MyDeviderDecorationd 繼承 ItemDecorationd public class MyDeviderDecoration extends
資料探勘中的模式發現(二)Apriori演算法
基本概念 對於A→B 支援度(support): P(A∩B),既有A又有B的概率 置信度(Confidence Strength): conf(A→B)=sup(A∪B)sup(A)=P(B|A) 即,在A發生的事件中同時發生B的概率 例如
js一些小題(二)
******************************************************************* 一個全域性下的函式: function test(){alert(this);} 當直接呼叫時test(); 會彈出object wind
vue-router單頁應用簡單示例(二)
數據 prop tps div -1 可重用性 example 定位 .com 我們先來理一下思路。 圖1:main.js 引入vue,App.vue,router/index.js文件 聲明要渲染的Id為app,將App.vue中的模版渲染到入口界面(就
Python開發簡單爬蟲(二)---爬取百度百科頁面數據
class 實例 實例代碼 編碼 mat 分享 aik logs title 一、開發爬蟲的步驟 1.確定目標抓取策略: 打開目標頁面,通過右鍵審查元素確定網頁的url格式、數據格式、和網頁編碼形式。 ①先看url的格式, F12觀察一下鏈接的形式;② 再看目標文本信息的