排序 雙氣泡排序和氣泡排序(採用結構體)

2022-05-15 05:33:08 字數 1262 閱讀 4596

氣泡排序的基礎上變為雙冒泡排,可減少遍歷次數序,從而實現優化

注釋**為錯誤**,不用看,但反映了不同的思考方式

//演算法8.4 氣泡排序

#include using namespace std;

#define maxsize 20 //順序表的最大長度

typedef struct

elemtype;

//順序表的儲存結構

typedef struct

sqlist; //順序表型別

void bubblesort(sqlist &l)

//if

--m;

} //while

} //bubblesort

// void dubbubblesort(sqlist &l)

// void dubbubblesort(sqlist &l)

// // }

// right = r;

// //第二次迴圈將最小的值放到了開頭

// for(j = right; j >= left; j--)

//

// }

// left = l;

// // printf("第%d次排序結果:", i + 1);

// // i++;

// // for(j = 0; j < l.length; j++)

// }

// }

void dubbubblesort(sqlist &l)

}m--;

for (int i = m; i > n; i--)

}n++;

for( int j=0;j < l.length ; j++)

// }

// // i=1;

// for (j = n - i; j > i; j--)

//

// }

// i++;

// }

void create_sq(sqlist &l)

for(i=0;i>l.r[i].key;

l.length++; }}

void show(sqlist l)

{ int i;

for(i=0;iok,以上就是雙氣泡排序

氣泡排序 排序 氣泡排序

既然寫了計組思來想去便打算把資料結構也寫下來,寫的時候總是發現看的時候無法發現的問題,受益良多。交換排序的基本思想 exchange until sorted 順序,分支,迴圈 注意偽 的熟悉 下面介紹兩種交換演算法 首先進行聯想,用乙個圖進行輔助聯想 水冒泡過程 頂部是陣列的begin,底部理解為...

氣泡排序 氣泡排序法

冒泡法是一種簡單的排序方法,它的實現非常簡單。首先對n個專案進行掃瞄,比較相領兩個專案的大小,若發現違背大小次序則進行互換,由此可以使n個專案中的最大者換到最後。然後對剩下的未排序好的專案再進行掃瞄,使它們的最大者換到表的最後。以此類推,直到將表全部排序好為止。這種排序方法,每遍掃瞄以後,都縮短了待...

選擇排序,氣泡排序,雙向氣泡排序

氣泡排序和選擇排序是最基本的排序方式,要掌握。氣泡排序重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。選擇排序每一趟從待排序的 資料元素 中選出最小 或最大 的乙個元素,順序放在已排好序的數列的...