作为入门半年的小菜鸟 终于开始记录并回头感悟了T T

回想上学期,我傻愣愣地坐在机房里,面对老师布置的数组传递,真是百思不得其解啊,其实是自己没有好好用功看C++,在这学期不断的深入学习和反思中,一点点成长吧!!

先来两个最简单的排序方法,选择和冒泡排序法;

#include <iostream>
using namespace std;
void select_sort(int a[],int n){
	int i,j,w;
	for( i=0;i<n-1;++i){
		 j=i;
			 for(int k=i+1;k<n;++k)
				 if(a[k]<a[j])j=k;
			 if(j!=i){
				 w=a[j];
				 a[j]=a[i];
				 a[i]=w;
			 }
	}
}
void main()
{
	int i,n=5;
	int a[5];
	cout<<"请输入"<<n<<"个数字:";
	for(i=0;i<n;i++)
	{
	cin>>a[i];
	}
	select_sort(a,n);
	for(i=0;i<n;i++)
	{
	cout<<a[i]<<"  ";
	}
cout<<endl;
}


#include <iostream>
using namespace std;
void bubble_sort(int a[],int n)
{
	int i, w, j;
	bool chang;
	for(i=n-1, chang=true; i>0 && chang; --i)
	{
		chang=false;
		for(j=0;j<i;++j)
			if(a[j]>a[j+1])
			{w=a[j];a[j]=a[j+1];a[j+1]=w; chang=true; }
	}
}
void main()
{
	int a[]={4,7,3,6,2};
	bubble_sort(a,5);
	for(int i=0;i<5;i++)
	{
	cout<<a[i]<<"  ";
}


一些基本的算法,对于换位的复杂度,整体感觉还是选择排序来的更快一点,希望以后能钻研更深,领悟奇妙简洁的算法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值