1. 程式人生 > 其它 >快排的實現思路

快排的實現思路

#1.流程控制

1.在一個程式執行過程中,各條程式碼的執行順序對程式的結果是有直接影響的。有很多時候我們要通過控制程式碼的執行順序來實現我們要完成的功能。

簡單結構:流程控制就是來控制我們的程式碼按照什麼結構順序來執行

流程控制主要有三種結構,分別是順序結構、分支結構和迴圈結構,這三種結構代表三種程式碼執行的順序。

 

 

 #2.順序流程控制

順序結構是程式中最簡單,對基本的流程控制,他沒有特定的語法結構程式會按照程式碼的先後順序,依次執,程式中大多數的程式碼都是這樣執行的。

#3.分支流程控制if語句

3.1分支結構

由上到下執行程式碼的過程中,根據不同的條件,執行不同的程式碼,從而得到不同的結果。

js 提供的了兩種不同的程式碼語句 if 和 switch 語句

3.2.if 語句

1.語法結構

<script>
     // 1. if 的語法結構
     // if (條件表示式) {
     //     //執行語句
     // }
     // 2. 執行思路 如果 if 表示式裡面的執行結構為真,則執行if中的執行語句。
     // 如果if 條件表示式結構為假 則不執行if 中的語句,直接執行if語句後面的程式碼
    </script>

2.if else 語句

<script>
     // 1. if 的語法結構
     // if (條件表示式) {
// //執行語句1 // }else{
    //執行語句2
   }
// 2. 執行思路 如果 if 表示式裡面的執行結構為真,則執行if中的執行語句。 // 如果if 條件表示式結構為假 則不執行if 中的語句,直接執行if語句後面的程式碼 </script>

  總結:if 裡面的語句和else裡面的語句最終只能執行一個,不可同時執行

執行流程:

 

 

 3.多分枝語句

1.多分枝語句 就是利用多個條件來選擇不同的語句執行 得到不同的結果

2.多分枝語句 if else if 

 

<script type="text/javascript">
            //
語法規範 if (條件表示式1) { //執行語句1 } else if (條件表示式2) { //執行語句2 } else if (條件表示式3) { //執行語句3 } else if (條件表示式4) { //執行語句4 } else { //最後的語句 } </script>

 

如果條件滿足條件表示式1 就執行 語句1 執行完畢,退出整個 if 分支語句,如果不滿足就向下執行,直到執行到最後的語句。

執行流程

 

 

 在編寫多支出語句時,程式碼必須要從大到小去進行判斷,因為程式碼執行思路是從上向下依次執行。

#4.三元表示式

1.由三元運算子組成的式子我們稱為三元表示式

2.++num  3+5  ?:

3.語法結構

條件表示式 ? 表示式1:表示式2

4.執行思路

如果條件表示式結果為真,則返回 表示式1 如果表示式結果為假 則返回 表示式2

5.程式碼演示

<script>
   var num = 10;
   var result = num > 5 ? '是的' : '不是'
   console.log(result);
</script>

 #5.switch分支語句

1.switch 語句也是多分枝語句 也可以實現多選一

2.語法結構 switch 轉換、開關  case 小例子或者選項的意思

switch 語句也是多分支語句,它用於基本不同的條件來執行不同的程式碼。當要針對變數設定一系列的特定值的選項時,可以使用 switch。

<script type="text/javascript">
            switch (表示式) {
                case value1:
                    執行語句1
                    break;
                case value2:
                    執行語句2
                    break
                default:
                    執行最後的語句
            }
            
        </script>

3.執行思路  利用我們的表示式的值 和 case 後面的選項值相匹配 如果匹配上,就執行該 case 的值,如果都沒有匹配上,那麼就執行 default裡面的語句

4.代買驗證:

<script type="text/javascript">
            switch(2) {
                case 1:
                console.log('這是1');
                break;
                case 2:
                console.log('這是2');
                break;
                case 3:
                console.log('這是3');
                break;
                default:
                console.log('沒有匹配值');
            }
        </script>

#6.switch 注意事項

1.我們在開發中經常會把表示式寫成變數

2.switch()中的值是和 case 裡面的值相匹配的時候是 全等 的,必須是值和資料型別一樣的才可以

3.break 如果當前的 case 裡面沒有break 則不會推出 switch 是繼續執行下一個case

#7.switch和if else 的區別

1.一般情況下,兩個語句是可以相互替換的

2.switch語句通常處理 case 比較確定的值,而if 語句更加靈活,通常用於範圍判斷大於或者等於某個範圍.

3.swtich 語句進行條件判斷後直接執行到程式的條件語句,效率更高.從而if else 語句有幾種條件,就得判斷多少次.

4.當分支比較少時,if else 語句的執行效率比switch語句高

5.當分支比較多時,switch語句的執行效率比較高,而且結構更清晰.