排序。。。冒泡排序

#include "shuzu.h"
//最简单的冒泡排序实现
//输入的是线性表里的实际长度,线性表的结构体的变量指针.
void maopao1(int length,sqlist*L)
{
	for(int i=1;i<length;i++)
	{
			for(int j=i+1;j<=length;j++)
			{
				if(L->Arry[i]>=L->Arry[j])
				{
					int temp;
					temp=L->Arry[i];
					L->Arry[i]=L->Arry[j];
					L->Arry[j]=temp;
				}
			}
		}	
}
//冒泡排序
void maopao2(int length,sqlist*L)
{
    for(int j=length;j>1;j--)
	{
		for(int i=1;i<j;i++)
			if(L->Arry[i]>=L->Arry[i+1])
			{
				int temp;
				temp=L->Arry[i];
				L->Arry[i]=L->Arry[i+1];
				L->Arry[i+1]=temp;
			}
	}
}

//冒泡排序的改进算法
//加入一个标志,当已经排好序,,就是不再需要交换时直接就退出循环
void maopao3(int length,sqlist*L)
{
	int flag=1;
	for(int j=length;j>1&&(flag==1);j--)
	{
		flag=0;
		for(int i=1;i<j;i++)
			if(L->Arry[i]>=L->Arry[i+1])
			{
				int temp;
				temp=L->Arry[i];
				L->Arry[i]=L->Arry[i+1];
				L->Arry[i+1]=temp;
				flag=1;
			}
	}

}

int main()
{
	sqlist L;
	product_shu(10,&L);
	print(10,&L);
	//maopao2(10,&L);
	maopao3(10,&L);
	print(10,&L);
	system("pause");
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值