c語言程序設(shè)計(jì)函數(shù)插入法 c語言添加函數(shù)

怎樣用C語言程序?qū)崿F(xiàn)插入法排序與起泡法算法排序??

直接插入排序的基本思想是:

10年積累的網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有府谷免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

當(dāng)插入第i

(i≥

1)

個(gè)對(duì)象時(shí),前面的V[0],

V[1],

…,

v[i-1]已經(jīng)排好序。這時(shí),用v[i]的關(guān)鍵碼與v[i-1],

v[i-2],

…的關(guān)鍵碼順序進(jìn)行比較,找到插入位置即將v[i]插入,原來位置上的對(duì)象向后順移。

用c實(shí)現(xiàn)的插入排序法,先輸入10個(gè)數(shù),然后利用插入排序法進(jìn)行排序,將結(jié)果輸出。

#include

"stdio.h"

#include

"conio.h"

main()

{

int

a[10],r[11];

int

*p;

int

i,j;

for(i=0;i10;i++)

{

p=a[i];

printf("please

scan

the

NO:

%d\n",i);

scanf("%d",p);

r[i+1]=a[i];

}

r[0]=1;

for(i=2;i=10;i++)

{

r[0]=r[i];

j=i-1;

while(r[j]r[0])

{

r[j+1]=r[j];

j--;

}

r[j+1]=r[0];

}

for(i=1;i=10;i++)

{p=r[i];printf("form

min

to

max

the

NO:

%d

value=%d\n",i,*p);}

getch();

}

起泡排序:需反復(fù)比較相鄰兩個(gè)數(shù)的比較與交換這兩種基本操作。對(duì)相鄰的兩個(gè)數(shù)進(jìn)行比較時(shí),如果反面的數(shù)大于(或小于)前面的數(shù),將這兩個(gè)數(shù)進(jìn)行交換,大的數(shù)(小的數(shù))往前冒。

void

Sort(a,n)

/*排序*/

{

float

a[];

int

n;

{

int

i;

int

flag;

float

t;

do{

flag=0;

for(i=0;i=n-2;i++)

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

{

t=a[i];a[i]=a[i+1];a[i+1]=t;

flag=1;

}

}while(flag);

}

C語言函數(shù)實(shí)現(xiàn)插入

這個(gè)很簡單啊?;镜乃悸肪褪窍炔檎业讲迦牖蛘邉h除的數(shù)字所在數(shù)組的位置,如果是插入,就把之后的依次想后挪動(dòng)一個(gè),然后插入;如果是刪除,把之后的依次想前移動(dòng)一個(gè)就行了,不過別忘了處理最后一個(gè)數(shù)字就行了。要是還有問題,我?guī)湍銓憘€(gè)算了。

C語言插入法

這段程序是從前往后進(jìn)行排序的。該程序r[1]--r[10]存儲(chǔ)10個(gè)數(shù),r[0]用來做標(biāo)記。首先對(duì)于單獨(dú)的r[1]是有序的。所以我們從r[2]開始和r[1]比較。這是為什么第一個(gè)for循環(huán)for(i=2;i11;i++);從i=2開始的原因。進(jìn)入第一個(gè)for循環(huán)(是排序的那個(gè),不是輸入的那個(gè))之后首先把r[i]元素保存在r[0]中,然后讓該元素和其前面的元素相比較這一步反映在第二個(gè)for循環(huán)中for(;r[j]r[0];j--),在這里體現(xiàn)出了r[0]的標(biāo)號(hào)作用,我們并不關(guān)心j是否會(huì)小于0,因?yàn)楫?dāng)j==0是r[j]r[0]已經(jīng)不再成立。循環(huán)體內(nèi)時(shí)比r[0]大的元素依次后移,推出了循環(huán),這樣當(dāng)?shù)诙€(gè)for循環(huán)退出時(shí)就是因?yàn)閞[j]r[0]不再成立,即找到了一個(gè)元素r[j]小于等于r[0];j之后的都比r[0]大。這時(shí)r[0]就應(yīng)該在j+1的位置,即r[j+1]=r[0];這樣經(jīng)過一個(gè)內(nèi)層的for循環(huán)就把原來i位置的元素按順序插入到其前面有序的元素當(dāng)中去了,當(dāng)i==10全部排序完成。如原數(shù)組的元素為r[]={3,2,1,8,5},當(dāng)i==2時(shí)的依次內(nèi)循環(huán)后變?yōu)閞[]={2,3,1,8,5};i==3時(shí),我們要拿1和全面的元素比較,得到r[]={1,2,3,8,5}.依次類推,最后排序完成。

c語言插入法的思路

先將要插入的數(shù)放在已排好順序的數(shù)組的最后一個(gè),然后與前一個(gè)數(shù)進(jìn)行比較,如果這個(gè)數(shù)比前一個(gè)小則交換,否則結(jié)束

當(dāng)前名稱:c語言程序設(shè)計(jì)函數(shù)插入法 c語言添加函數(shù)
文章起源:http://muchs.cn/article36/dohcgpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計(jì)公司、全網(wǎng)營銷推廣網(wǎng)頁設(shè)計(jì)公司、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司