C++实现合并排序的方法

2025-05-27 0 65

本文实例讲述了C++实现合并排序的方法。分享给大家供大家参考。具体如下:

?

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

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53
//合并排序

#include<iostream>

#include<cmath>

using namespace std;

int num[100];

void print(int num[],int len)

{

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

{

cout<<num[i]<<" ";

}

cout<<endl;

}

void merge(int num[],int beg,int mid,int end)

{

int temp[100];

int t=beg;

int i=beg,j=mid+1;

while(i<=mid&&j<=end)

{

if(num[i]<num[j])

temp[t++]=num[i++];

else

temp[t++]=num[j++];

}

while(i<=mid)

temp[t++]=num[i++];

while(j<=end)

temp[t++]=num[j++];

for(int i=beg;i<=end;i++)

num[i]=temp[i];

}

void mergeSort(int num[],int beg,int end)

{

if(beg==end)

return;

int mid=(beg+end)/2;

mergeSort(num,beg,mid);

mergeSort(num,mid+1,end);

merge(num,beg,mid,end);

}

int main()

{

int len;

while(cin>>len)

{

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

cin>>num[i];

mergeSort(num,0,len-1);

print(num,len);

}

return 0;

}

希望本文所述对大家的C++程序设计有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 C++实现合并排序的方法 https://www.kuaiidc.com/75382.html

相关文章

发表评论
暂无评论