真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

冒泡法排序c語(yǔ)言函數(shù)模板 冒泡法排序c語(yǔ)言程序流程圖

C語(yǔ)言冒泡排序法代碼

冒泡排序是排序算法的一種,思路清晰,代碼簡(jiǎn)潔,常被用在大學(xué)生計(jì)算機(jī)課程中?!懊芭荨边@個(gè)名字的由來(lái)是因?yàn)樵酱蟮脑貢?huì)經(jīng)由交換慢慢“浮”到數(shù)列的頂端,故名。這里以從小到大排序?yàn)槔M(jìn)行講解?;舅枷爰芭e例說(shuō)明

目前創(chuàng)新互聯(lián)已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、綿陽(yáng)服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、建陽(yáng)網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

冒泡排序的基本思想就是不斷比較相鄰的兩個(gè)數(shù),讓較大的元素不斷地往后移。經(jīng)過(guò)一輪比較就,選出最大的數(shù);經(jīng)過(guò)第2輪比較,就選出次大的數(shù),以此類推。下面以對(duì) 3 2 4 1 進(jìn)行冒泡排序說(shuō)明。

1.這個(gè)算法用rand函數(shù)產(chǎn)生新的要排序的數(shù)據(jù),與已有的有序數(shù)列中的數(shù)據(jù)依次比較,如果遇到比他大的數(shù)據(jù),就從該數(shù)據(jù)開始,一直交換到末尾,達(dá)到一個(gè)插入的效果。從而形成有序的數(shù)列。

2.此外,只用rand函數(shù)并不能達(dá)到真正隨機(jī)的效果。如果要實(shí)現(xiàn)真正隨機(jī)的效果,還要配合srand函數(shù)才行。

3.具體代碼如下:#include "stdio.h"#include "stdlib.h"void main(){int a[10],temp,r; printf("請(qǐng)輸入一個(gè)種子\n"); scanf("%d",r);srand(r); for(int i=0;i9;i++) 。

c++編程用函數(shù)模板實(shí)現(xiàn)排序算法(冒泡排序、插入排序)

#include?iostream

using?namespace?std;

//從小到大排序

template?typename?T

void?Bubble(T?arr[],?int?n)

{

//冒泡

int?i,j;

for?(i=0;?in;?i++)

for?(j=0;?jn-i-1;?j++)

{

if?(arr[j]??arr[j+1])

{

T?temp;

temp?=?arr[j];

arr[j]?=?arr[j+1];

arr[j+1]?=?temp;

}

}

for?(i=0;?in;?i++)

cout??arr[i]??endl;

}

//從小到大排序

template?typename?T

void?Insert(T?arr[],?int?n)

{

//插入排序

int?i,j,pos;

T?temp;

for?(i=0;?in;?i++)

{

pos?=?i;

for?(j=i;?jn;?j++)

{

if?(arr[j]??arr[pos])

{

pos?=?j;

temp?=?arr[j];

arr[j]?=?arr[pos];

arr[pos]?=?temp;

}

}

temp?=?arr[i];

arr[i]?=?arr[pos];

arr[pos]?=?temp;

}

for?(i=0;?in;?i++)

cout??arr[i]??endl;

}

int?main()

{

int?i[7]?=?{2,?234,?234,?12,?1400,?345,?564};

float?f[7]?=?{2.9,?234.2,?234.5,?12.73,?1400,?345.2,?564.1};

//Bubble(i,?7);

Insert(i,?7);

cout??endl;

//Bubble(f,?7);

Insert(f,?7);

return?0;

}

C語(yǔ)言初學(xué)者,要用冒泡法對(duì)隨機(jī)輸入的數(shù)進(jìn)行排序,用函數(shù)怎么寫,謝謝

#includestdio.h

void main()

{

int a[1000],n,m,j,k,temp;

printf("要輸入元素的個(gè)數(shù):");

scanf("%d",n);

printf("請(qǐng)輸入數(shù)字:");

for(m=0;mn;m++)

scanf("%d",a[m]);

for(j=0;jn-1;j++)

for(k=0;kn-j-1;k++)

{

if(a[k]a[k+1])

{

temp=a[k];

a[k]=a[k+1];

a[k+1]=temp;

}

}

printf("這%d個(gè)數(shù)按由小到大的順序輸出為:",n);

for(m=0;mn;m++)

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

}

用C++語(yǔ)言編寫程序?qū)崿F(xiàn):設(shè)計(jì)一個(gè)函數(shù)模板,實(shí)現(xiàn)用冒泡法對(duì)10 個(gè)某類型數(shù)據(jù)按升序排序

冒泡排序算法的運(yùn)作如下:

1、比較相鄰的元素。如果第一個(gè)比第二個(gè)大,就交換他們兩個(gè)。

2、對(duì)每一對(duì)相鄰元素作同樣的工作,從開始第一對(duì)到結(jié)尾的最后一對(duì)。在這一點(diǎn),最后的元素應(yīng)該會(huì)是最大的數(shù)。

3、針對(duì)所有的元素重復(fù)以上的步驟,除了最后一個(gè)。

4、持續(xù)每次對(duì)越來(lái)越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對(duì)數(shù)字需要比較。

這里只需套用函數(shù)模板,將元素的類型設(shè)為模板變量即可,代碼如下:

template?typename?Item

void?sort(Item?*arr)

{

int?i,?j;

Item?temp;

for?(j?=?0;?j??9;?j++)

for?(i?=?0;?i??9?-?j;?i++)

{

if(arr[i]??arr[i?+?1])

{

temp?=?arr[i];

arr[i]?=?arr[i?+?1];

arr[i?+?1]?=?temp;

}

}

}


本文名稱:冒泡法排序c語(yǔ)言函數(shù)模板 冒泡法排序c語(yǔ)言程序流程圖
網(wǎng)站鏈接:http://weahome.cn/article/doejdhd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部