氣泡排序 為什麼它們中的語句都沒有“”?????

發布 心理 2024-07-01
14個回答
  1. 匿名使用者2024-01-30

    因為 for 迴圈中只有乙個語句,所以請仔細檢視。

    for(i=;i>=1;i--)

    for(j=0;ja[j+1]){

    t=a[j];

    a[j]=a[j+1];

    a[j+1]=t;

    第乙個 for 是乙個整體,即另乙個 for,另乙個 for 等價於乙個語句,第二個 for 是 if,面 if 子句用一對 {} 括起來,所以第二個 for 也等價於乙個整體。 它的作用與括號相同。

  2. 匿名使用者2024-01-29

    否則,氣泡排序需要在陣列元素之間進行比較,在迴圈中迴圈訪問一次資料。 第乙個 for 迴圈一次,第二個 for 迴圈一次,這樣陣列中的每個元素都可以比較一次。

  3. 匿名使用者2024-01-28

    程式中有四個for迴圈,分別控制第乙個和最後乙個,分別控制要排序的輸入資料和陣列中要排序和輸出的資料。 中間的兩個for迴圈是氣泡排序演算法的核心,它們是巢狀關係,即外迴圈先進入,外層是控制幾個排序,每次行程確定第i個最大值,內迴圈是每次行程多少次對相鄰資料進行對比較, 並根據排序要求進行資料交換,並安排每次行程中要找到的最大或最小 i 值的相應位置。這個過程就像水泡從小到大,所以叫做冒泡分揀。

    確定for迴圈是巢狀的,即外部for迴圈執行的迴圈語句體中也包含for迴圈語句。

  4. 匿名使用者2024-01-27

    當 i=0 第一次時,迴圈的第二層依次比較 j 和 j+1 的大小,這個迴圈會把整個陣列的最小值交換到最後乙個位置(假設順序是從大到小),當 i=1 時,迴圈會把整個陣列的第二個小數交換到結束位置(每個迴圈前面的資料會發生變化在一定程度上,大量將逐漸向前推進),依此類推。因此,比較第二層迴圈是沒有意義的,因此比較的次數減少了j”。

  5. 匿名使用者2024-01-26

    你的程式不是有乙個 if (a[j] >a[j + 1]) if j=,它就變成了 a[>a[,所以陣列越界了,明白嗎?

  6. 匿名使用者2024-01-25

    不要把自己包裹起來。

    int a=;

    for (int i = 0; i < i++)for (int j = 0; j < j++)int temp;

    if (a[i] temp = a[j];

    a[j] = a[i];

    a[i] = temp;

  7. 匿名使用者2024-01-24

    氣泡排序的原理是:(公升序)。

    依次比較兩個相鄰的數字,將較大的值放在後面,以便最後乙個數字成為陣列中的最大值。

    迴圈執行此過程,直到所有資料都根據此規則進行排列。 至此,排序完成。

    示例:3,2,5,7,1(公升序)。

    1.3 對 2,交換,陣列:2、3、5、7、12

    3 vs. 5,非交換,陣列:2、3、5、7、135 對 7,無交換,陣列:

    2,3,5,7,14.7 vs. 1, swap , array: 2,3,5,1,7 第一次遍歷比較完成,最後乙個資料為最大值。

    之後,只需比較 2、3、5、1,因為最後乙個已經是最大的了。

    然後遵循此規則,然後迴圈瀏覽此規則。

    **字樣:包括

    int main()

    int len = 5;陣列長度 5

    外迴圈基於此演算法:控制項最多需要幾個迴圈才能完成 (i=0; ia[j+1])

    這稱為氣泡排序。 當然,冒泡也有一些變化,比如新增標誌,如果乙個迴圈中沒有交換,則說明排序已經完成。 結束迴圈,從而加快速度。

  8. 匿名使用者2024-01-23

    for(i = 0; i < n -1;i++) 比較複製輪數。

    for(j = n - 1; j > i;j--) 元素。

    if(a[j] swap(a[j], a[j -1]);交換位置。

    從最後乙個元素開始,將其與前乙個元素進行比較(注意 j 的值),如果它比前乙個元素小,則交換位置。 每一輪比對保證前面的元素是有序的,即小元素冒泡到前面,只需要n-1輪(i的值)就可以完成。

  9. 匿名使用者2024-01-22

    怎麼錯了。

    對一些元素進行排序。

  10. 匿名使用者2024-01-21

    迴圈對賬單的執行分為以下五個步驟:

    1)求解初始值表示式。

    2)確定迴圈條件表示式,如果值為true(不是0),則在for語句的迴圈體內執行語句,然後執行步驟3;如果值為 false (0),則跳出迴圈並執行步驟 (5)。

    3)求解更新表示式。

    4) 跳回步驟 (2) 並重複。

    5) 在迴圈結束時,在 for 迴圈之後執行語句。

  11. 匿名使用者2024-01-20

    你說的是for迴圈的巢狀,每次執行外部迴圈for子句時,內部迴圈for都會完全執行。 重複此操作,直到執行外部迴圈。

  12. 匿名使用者2024-01-19

    是的,你的理解沒有問題,第一次執行外部的for,然後執行內部的for,執行外部的for,執行內部的for,所以迴圈知道外層被執行。

  13. 匿名使用者2024-01-18

    如果你想知道如何執行它,你可以除錯它。

    如果你想更直觀,你可以新增大括號。

  14. 匿名使用者2024-01-17

    for 語句以第乙個“; “最後,最好加上括號。

相關回答
16個回答2024-07-01

當然,是有區別的:第一句“不開心”是修飾“她”的名詞第二句 unhappily 是修飾動詞工作的副詞由此可以看出,工作的第一句話,就是他不開心的結果。

10個回答2024-07-01

您可以將時間轉換為秒,然後減去兩者。

echo off >>>More

16個回答2024-07-01

1.我可以與國際銷售負責人交談嗎?

2.你又在電腦遊戲上浪費時間了嗎? >>>More

19個回答2024-07-01

首先,x 的初始值為 2

在第乙個迴圈中,列印 *,然後 x--,x 變為 1。 然後判斷 x>=0 滿足,繼續迴圈; >>>More

13個回答2024-07-01

1.它確實可能是 2 個 C 段,看看你自己計算機的子網掩碼,如果是,那就沒錯。 >>>More