《演算法課》c 冒泡演算法

2021-09-24 06:04:11 字數 1542 閱讀 3144

現在有一組陣列,需要按照從小到大排序:

int value = ;

每次用if進行判斷,提取陣列的第乙個元素跟第二個元素進行對比,如果第乙個比第二個大,就替換。表示式為:

int temp;  //建立乙個臨時變數

if(value[0]>value[1])

temp=value[0];

value[0]=value[1];

value[1]=temp;

經過這步之後,陣列的順序變為 ,接下來第二個元素跟第三個元素對比。表示式為:

if(value[1]>value[2])

temp=value[1];

value[1]=value[2];

value[2]=temp;

經過這步之後,陣列的順序變為。此時發現,每次對比只有陣列的索引發生變化,所以可以用for迴圈代替。

for(int i=0; iif(value[ i ]>value[ i+1 ])

temp=value[ i ];

value[ i ]=value[ i+1 ];

value[ i+1 ]=temp;

經過for迴圈之後,陣列的順序變為。第一次篩選只是把整個陣列中最大的值排在了最後乙個,所以還需要排序

,表示式為

for(int i=0; iif(value[ i ]>value[ i+1 ])

temp=value[ i ];

value[ i ]=value[ i+1 ];

value[ i+1 ]=temp;

經過這次迴圈之後,陣列的順序變為。for迴圈就是為了消除單純變化的部分。第一次迴圈條件為 ifor( j= items.length - 1; j >= 0; j--) //用 j取代 ifor (i = 0; i < j; i++)

完整部分: 

for(j= items.length - 1; j>=0;j--)}}

完整**為:

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace weituo

; ******sort.bubblesort(ref value);

for(int i = 0; i < value.length ; i++)

console.read();}}

static class ******sort

//}for (j = items.length - 1; j >= 0; j--)}}

}}

}

C 冒泡演算法

c 冒泡演算法,改良的冒泡演算法,可以提高效率,注意 第一次假如就是順序的話,就直接退出迴圈。static void main string args 陣列的定義3種 int arrs1 int arrs2 new int 3 int arrs3 new int 進行氣泡排序 外層迴圈將最大值放最後...

C 排序演算法之冒泡演算法

1.冒泡演算法 思想 從第乙個數開始,將相鄰兩個數比較,將小的調到前面。效果 第一趟比較,將最大的移到最後乙個位置 第二趟,將次大的移到倒數第二個位置,以此類推,需要做n 1次迴圈。void bubble sort int a,int n 如果用指標的話,一定要注意陣列名是指標常量,不能修改其值,只...

演算法 冒泡演算法

冒泡演算法 英語 bubble sort 是一種簡單的排序演算法。它重複的遍歷要排序的數列,一次比較兩個元素,如果它們的順序錯誤,就把它們交換過來。遍歷數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。氣泡排序...