C++ 排序法之冒泡法和选择法 素数,递归调用,用星号(*)打印一个梯形
来源:互联网 发布:小黑屋写作软件免费版 编辑:程序博客网 时间:2024/06/03 13:52
冒泡法的思路
将相邻两个数比较,将小的调到前头,若有6个数(8,9,5,4,,2,0)。第一次比较第一个数和第二个数(8和9)的大小,如果第一个数大于第二个数,就把两个数位置交换,第二次将第二个数和第三个数(9和5)进行比较和交换 ,如此进行5次,得到8,5,4,2,0,9的顺序, 最大的数9 已经沉底。
然后进行第二轮比较,对余下的前面5个数按上方法比较,经过4次比较,得到次大的数8。在进行第三轮比较,对余下的前面四个数进行比较。不难看出,对6个数要比较5轮,才能使6个数按大小顺序排列好。由此推知,如果有n个数,则要进行(n-1)轮比较和交换。在第一轮中要进行(n-1)次两两比较,在第J轮中要进行(n-j)轮次两两比较。
今设n=10
#include <iostream>
using namespace std;
int main ()
{
int a [11];
int i,j,t;
cout <<"input 10 numbers :"<<endl;
for(i=1;i<11;i++)
cin>>a[i] ;
cout<<endl;
for( j=1; j<=9;j++)
for (i=1;i<=10-j; i++)
if(a[i]>a[i+1])
{ t=a[i] ;a[i]=a[i+1];a[i+1]=t;}
cout<<"the sorted numbers:"<<endl;
for (i=1;i<11;i++)
cout<<a[i]<<" "
cout<<endl;
return 0;
}
选择法
设有10个元素a[1]~a[10],将a[1]与a[2]~a[10]比较,若a[1]比a[2]~a[10]都小,则不进行交换,即无任何操作。若a[2]~a[10]中有一个以上比a[1]小,则将其中最小的一个假设a[i]与a[1]交换,此时a[1]中存放的是10个中最小的数。第二轮将a[2]与a[3]~a[10] ,将剩下的9个数中最小者a[i]与a[2]对换,此时a[2]中存放的是10个中第2小的数。以此类推,共进行9轮比较,a[1]~a[10]就按照由小到大的顺序存放。
#include<iostream>
using namespace std;
int main()
{int i,j,min,temp,a[11];
cout<<"enter data:"<<endl;
for(i=1;i<=10;i++)
{cout<<"a["<<i<<"]=";
cin>>a[i];
}
cout<<endl<<"The original numbers:"<<endl;
for(i=1;i<=10;i++)
cout<<a[i]<<" ";
cout<<endl;
for(i=1;i<=9;i++)
{min=i;
for(j=i+1;j<=10;j++)
if (a [min]>a[j])
min=j;
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
cout<<endl<<"The sorted numbers :"<<endl;
for(i=1;i<=10;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
- C++ 排序法之冒泡法和选择法 素数,递归调用,用星号(*)打印一个梯形
- 选择法排序,冒泡排序,递归排序
- (c语言)选择排序法和冒泡排序法
- 数组实现冒泡法和选择法排序(C++)
- C语言:编写查找和排序函数(二分查找,冒泡排序,选择排序法)
- 数列排序(选择排序法和冒泡排序法)
- c 排序采用递归冒泡法
- 选择排序法和冒泡排序法
- 冒泡排序法和选择排序法
- 冒泡排序法和选择排序法
- 冒泡法排序和选择法排序
- 冒泡排序法和选择排序法
- 选择排序法和冒泡排序法
- 冒泡排序和选择法排序
- java冒泡排序和选择排序法
- Java:冒泡排序法 和 选择排序
- c语言之冒泡排序法与选择排序法的使用比较(二)
- 用纯C语言实现快速排序,分递归调用法和非递归调用法。
- self = [super init]理解
- hdu 1540 线段树区间合并
- CocoaPods安装和使用
- R语言 分层抽样 strata (三),每层抽取80%
- malloc、calloc、realloc与free简要
- C++ 排序法之冒泡法和选择法 素数,递归调用,用星号(*)打印一个梯形
- XCode主题更改
- 再见2015
- WWDC2015 - Interface Builder技巧(IB 技巧)
- 在SQLite中使用事务
- UINavigationController屏蔽滑动返回
- POJ 1006 Biorhythms(中国剩余定理)
- 背包问题解题思路
- 重拾学习