1編寫氣泡排序和選擇排序的程式,主函式中編寫選單呼叫排序函式。C語言

時間 2021-08-11 18:00:48

1樓:

//c語言示例**如下

#include

#define n 10

//氣泡排序(升序)

void bubble_sort(int a,int n)}}//選擇排序演算法,按從小到大順序

void select_sort(int *array,int n)//如果最小元素的下標不是後面n-i+1的未排序序列的第一個元素,則需要交換第i個元素和後面找到的最小元素的位置

if(k != i)}}

int main()

{int arr[n];

int i;

printf("輸入陣列元素: ");

for(i=0;i

2樓:匿名使用者

a0003:

push cx

push si

a0002:

mov dl,a[si]

cmp dl,a[si+1]

jb a0001

xchg dl,a[si+1]

xchg a[si],dl

a0001: inc si

loop a0002

pop si

pop cx

loop a0003

mov ah,4ch

int 21h

code ends

end start

3樓:起航教育學校

#include "stdio.h"

#define n 10

main()

for(i=0;i

printf(" %d",a[i]);}

4樓:

void sort_xuanze(int a,int n)/*升序排序 */

}void sort_maopao(int a,int n)/*升序排序 */

}main()

c語言程式設計——氣泡排序法。要求:由主函式呼叫排序子函式,對n個整數進行從小到大的排序,謝了

5樓:匿名使用者

#include

void sort(int a,int n)}}}int main()

;sort(a,10);

int i;

for(i=0;i<10;i++)

getchar();

return 0;}

6樓:匿名使用者

#include

#define n 10

void paixu(int *arr,int n)}}}void main()

c語言將氣泡排序(或選擇排序)改造成函式,實現對一個一維陣列中的元素進行排序

7樓:匿名使用者

/*其實就是把排序封裝成一個函式即可,使用時傳遞陣列的引用便可以實現對陣列元素進行排序了,因為陣列傳遞的就是地址

*/#include

void sort(int a,int n)}}}void main()

//呼叫sort函式排序

sort(a,n);

//輸出測試

for(i=0;i

1. 編寫函式sort(int a[]),用冒泡法對陣列a的10個元素升序排序。在主函式中輸入10

8樓:凌亂心扉

#includevoid

sort(int a,int n)}}}

int main(void)

sort()函式是c++一種排序方法之一,學會了這種方法也打消我學習c++以來使用的氣泡排序和選擇排序所帶來的執行效率不高的問題!因為它使用的排序方法是類似於快排的方法,時間複雜度為n*log2(n),執行效率較高!

(二)c++標準庫裡的排序函式的使用方法

i)sort函式包含在標頭檔案為#include的c++標準庫中,呼叫標準庫裡的排序方法可以不必知道其內部是如何實現的,只要出現我們想要的結果即可!

ii)sort函式有三個引數:

(1)第一個是要排序的陣列的起始地址。

(2)第二個是結束的地址(最後一位要排序的地址)(3)第三個引數是排序的方法,可以是從大到小也可是從小到大,還可以不寫第三個引數,此時預設的排序方法是從小到大排序。

9樓:匿名使用者

#include

void sort(int a)

for(i=0;i<10;i++)

printf("%d ",a[i]);

}int main()

c語言程式設計——氣泡排序法,要求:由主函式呼叫排序子函式,對n個整數進行從小到大的排序,謝了

10樓:薰衣草

#include

#define maxe 20

//線性表中最多元素個數

typedef int keytype;

typedef char infotype[10];

typedef struct //記錄型別

rectype;

void bubblesort(rectype r,int n) //氣泡排序演算法

printf(" i=%d ",i); //輸出每一趟的排序結果

for (k=0;k

printf("%2d",r[k].key);

printf("\n");}}

void main()

;rectype r[maxe];

for (i=0;i

r[i].key=a[i];

printf("\n");

printf(" 初始關鍵字 "); //輸出初始關鍵字序列for (k=0;k

printf("%2d",r[k].key);

printf("\n");

bubblesort(r,n);

printf(" 最後結果 "); //輸出初始關鍵字序列for (k=0;k

printf("%2d",r[k].key);

printf("\n\n");

}數字你可以自己改

編寫一個氣泡排序法的函式,在主函式中進行呼叫,使該函式能實現對一個具有5個元素的陣列進行排序,在主

11樓:聽不清啊

#include

void bubble(int*a,int n)

}int main()

12樓:匿名使用者

#include#includevoidbubble(int*a,intm){inti,j,temp;for(i=0;i

c語言實現氣泡排序,選擇排序,插入排序及其移動次數

13樓:一個孤獨的差生

你說的排序我給你源**,在**裡面簡單的說了一下演算法思想。

如果是要學習,我建議去看書和看別人的部落格,明白排序的思想,

只有明白了演算法的思想,才能輕易的看懂排序的**。

我的**都是給定好的資料,是為了方便測試。

氣泡排序:

演算法:1、相鄰兩個元素進行比較,即0號元素和1號元素、1號元素和2號元素、2號元素和3號元素,依此類推。

2、每輪比較之後,就會產生一個最值,並且這個最值總是在最後面才出現,如同魚兒吐泡。

3、第一輪比較之後,最值在最後面;第二輪比較之後,次最值在倒數第二個位置,依此類推。

#include  array[j+1])

swap(array+j,array+j+1);

}int main(void)

;bubble_sort(array,10);

for(int i=0; i<10; i++)

cout<

選擇排序:

演算法:1、第一輪比較:假設第一個元素是最小的;第二輪比較:假設第二個元素是最小的,依此類推。

1、用假設的元素對陣列進行遍歷比較,不符合要求的記錄其下標。

2、每輪比較之後才判斷假設是否成立,不成立的話,就交換資料。

#include

using namespace std;

void swap(int *elem_1, int *elem_2)

void select_sort(int *array,int len)

}int main(void)

;select_sort(array,10);

for(int i=0; i<10; i++)

cout<

插入排序:

演算法:1、將要排序的陣列看成一個無序和有序陣列。

2、有序陣列中騰出一個適當的位置。

3、將無序的陣列元素逐漸插入到有序陣列中。

#include

using namespace std;

void insert_sort(int *array,int len)

}int main(void)

;insert_sort(array,10);

for(int i=0; i<10; i++)

cout<

14樓:ps小卒

順序o(n) 逆序哦o(n)隨機o(n)

氣泡排序測試如何編寫?大蝦們幫忙啊

ls的那個思想不錯但是單元測試的話,似乎應該不是用等價類,邊界值這些方法來進行測試了吧呵呵,只能說自己寫段 除錯下而已。 你是要做白盒測試嗎?白盒測試應該只能到類 方法吧,排序充其量也就是個方法 如果測試它,也就只能對輸入進行等價類劃分。沒有很多白盒測試經驗,只是憑一點理解 大家繼續討論。 測試需求...

編寫個函式進行氣泡排序,寫一個函式實現氣泡排序功能

笪富貴真子 include void exchange int x,int y int min int arr,int n returnm void bubblesort int arr,intn void main bubblesort arr,10 排序 列印陣列 for i 0 i 10 i ...

Java中併發排序和排序的區別,快速排序 和桶排序 的區別

育知同創教育 氣泡排序 bubblesort 的基本概念是 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟 首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。至此第一趟結束,將最大的數...