CodeBeauty
春暖花開
C++博客
首頁(yè)
新隨筆
新文章
聯(lián)系
聚合
管理
posts - 6,comments - 3,trackbacks - 0
<
2012年5月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
給我留言
查看公開留言
查看私人留言
隨筆分類
經(jīng)典排序算法(C/C++實(shí)現(xiàn))(5)
隨筆檔案
2012年5月 (6)
最新隨筆
1.?雞尾酒排序(改進(jìn)的冒泡排序)
2.?同時(shí)找出最大值和最小值的一種優(yōu)化算法(比較次數(shù)至多為3【n/2】)
3.?歸并排序MergeSort
4.?插入排序InsertionSort
5.?冒泡排序BubbleSort
6.?計(jì)數(shù)排序CountSort
搜索
最新評(píng)論
1.?re: 雞尾酒排序(改進(jìn)的冒泡排序)
雞尾酒排序???第一次聽說(shuō)。這不是搖擺排序嗎?
--11
2.?re: 同時(shí)找出最大值和最小值的一種優(yōu)化算法(比較次數(shù)至多為3【n/2】)
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--flyinghearts
3.?re: 冒泡排序BubbleSort[未登錄](méi)
嗯,還有優(yōu)化的空間。
如果在一次掃描的過(guò)程中,沒(méi)有交換發(fā)生,則說(shuō)明已經(jīng)排好序了,回此,可以提前結(jié)束,而不必進(jìn)行接下來(lái)多躺無(wú)用的比較。
同樣是寫冒泡,質(zhì)量就在這里。
--ithaca
閱讀排行榜
1.?同時(shí)找出最大值和最小值的一種優(yōu)化算法(比較次數(shù)至多為3【n/2】)(6504)
2.?雞尾酒排序(改進(jìn)的冒泡排序)(2034)
3.?冒泡排序BubbleSort(1653)
4.?插入排序InsertionSort(1623)
5.?歸并排序MergeSort(1537)
評(píng)論排行榜
1.?同時(shí)找出最大值和最小值的一種優(yōu)化算法(比較次數(shù)至多為3【n/2】)(2)
2.?雞尾酒排序(改進(jìn)的冒泡排序)(1)
3.?冒泡排序BubbleSort(1)
4.?插入排序InsertionSort(0)
5.?歸并排序MergeSort(0)
插入排序InsertionSort
經(jīng)典排序算法-插入排序InsertionSort
插入排序
就是每一步都將一個(gè)待排數(shù)據(jù)按其大小插入到已經(jīng)排序的數(shù)據(jù)中的適當(dāng)位置,直到全部插入完畢。
其時(shí)間復(fù)雜度為O(n)(最優(yōu))、O(n^2)(最差)、O(n^2)(平均)。這是一個(gè)對(duì)少量元素進(jìn)行排序的有效算法。
算法描述
一般來(lái)說(shuō),
插入排序
都采用in-place在數(shù)組上實(shí)現(xiàn)。具體算法描述如下:
從第一個(gè)元素開始,該元素可以認(rèn)為已經(jīng)被排序
取出下一個(gè)元素,在已經(jīng)排序的元素序列中從后向前掃描
如果該元素(已排序)大于新元素,將該元素移到下一位置
重復(fù)步驟3,直到找到已排序的元素小于或者等于新元素的位置
將新元素插入到該位置中
重復(fù)步驟2~5
具體C++源代碼如下:
#include
<
iostream
>
using
namespace
std;
/**/
/////////
/排序后輸出函數(shù)
bool
Output(
int
b[],
int
length)
{
for
(
int
i
=
0
;i
<
length;i
++
)
{
cout
<<
b[i]
<<
"
"
;
}
cout
<<
endl;
return
true
;
}
/**/
/////////
/插入排序
void
InsertionSort(
int
arr[],
int
size_arr)
{
for
(
int
i
=
1
;i
<
size_arr;i
++
)
{
int
key
=
arr[i];
int
j
=
i;
while
((j
>
0
)
&&
(arr[j
-
1
]
>
key))
{
arr[j]
=
arr[j
-
1
];
//
交換順序
--
j;
}
arr[j]
=
key;
}
}
void
main()
{
//
動(dòng)態(tài)輸入待排序數(shù)組
int
size_a;
cout
<<
"
Enter the numble of a: size_a=
"
;
cin
>>
size_a;
cout
<<
endl
<<
"
Enter a(size_a values):
"
;
int
*
a
=
new
int
[size_a];
for
(
int
i
=
0
;i
<
size_a;i
++
)
{
cin
>>
a[i];
}
cout
<<
endl
<<
"
former:
"
<<
endl;
Output(a,size_a);
cout
<<
endl
<<
"
later:
"
<<
endl;
//
調(diào)用插入排序
cout
<<
"
插入排序:
"
;
InsertionSort(a,size_a);
Output(a,size_a);
}
posted on 2012-05-10 12:44
代碼之美
閱讀(1624)
評(píng)論(0)
編輯
收藏
引用
所屬分類:
經(jīng)典排序算法(C/C++實(shí)現(xiàn))
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
雞尾酒排序(改進(jìn)的冒泡排序)
歸并排序MergeSort
插入排序InsertionSort
冒泡排序BubbleSort
計(jì)數(shù)排序CountSort
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
Copyright ©2025 代碼之美 Powered By
博客園
模板提供:
滬江博客
久久99精品国产麻豆宅宅
|
香港aa三级久久三级老师2021国产三级精品三级在
|
久久久精品午夜免费不卡
|
久久亚洲国产精品成人AV秋霞
|
久久久这里有精品中文字幕
|
久久久噜噜噜久久中文字幕色伊伊
|
色综合久久精品中文字幕首页
|
亚洲成色999久久网站
|
国产精品久久亚洲不卡动漫
|
91久久婷婷国产综合精品青草
|
东方aⅴ免费观看久久av
|
婷婷国产天堂久久综合五月
|
香蕉99久久国产综合精品宅男自
|
伊人色综合久久天天网
|
国产精品亚洲综合久久
|
久久久久久久久久久久中文字幕
|
欧美黑人激情性久久
|
成人国内精品久久久久影院
|
久久精品国产精品国产精品污
|
国产精品美女久久久久AV福利
|
欧美粉嫩小泬久久久久久久
|
国产成人精品三上悠亚久久
|
久久久精品2019免费观看
|
国产精品成人99久久久久
|
精品久久久久久久久久中文字幕
|
亚洲色欲久久久久综合网
|
色狠狠久久AV五月综合
|
伊人久久精品线影院
|
18禁黄久久久AAA片
|
久久99国产亚洲高清观看首页
|
久久久这里有精品中文字幕
|
色偷偷88888欧美精品久久久
|
亚洲国产精品一区二区久久
|
国产精品成人久久久
|
色综合合久久天天综合绕视看
|
久久91精品国产91
|
91久久九九无码成人网站
|
亚洲精品乱码久久久久久久久久久久
|
久久久亚洲裙底偷窥综合
|
色综合久久综合网观看
|
狠狠色丁香久久婷婷综合蜜芽五月
|