数据结构-冒泡排序

#include<iostream>  //引入库 
using namespace std;   //using namespace std与#include<iostream>共同使用,调用cout cin函数 
typedef struct Person   //定义顺序表的存储数据 
{
	string key;
	int n;
}Person;
typedef struct Data       //定义顺序表 
{
	Person *P = new Person[50];    //为顺序表分配一个容量为50的数组空间   数组指针指示顺序表的基地址
	int length=0;                  //初始长度为0 
}Data;
void InitData(Data &d)      //对顺序表进行初始化 
{
	string a[12] = { "a","b","c","d","e","f","g","h","i","j","k" };
	int b[12] = {62,23,28,45,77,19,50,60,18,90,66,43 };
	for (int i = 0;i < 11;i++)      
	{
		d.P[d.length].key = a[i];
		d.P[d.length].n = b[i];
		d.length++;           //通过数组下标增加存储数据 
	}
}
void Bubble_Sort(Data &d)       //冒泡排序
{
	for(int i=0;i<d.length-1;i++)     //比较趟数 
		for (int j = 0;j < d.length-1- i;j++)        //每一趟两两比较 
		{
			if (d.P[j].n > d.P[j + 1].n)      //若前一项大于后一项,两两交换 ,直至这一趟比较完 
			{
				Person p = d.P[j];
				d.P[j] = d.P[j + 1];
				d.P[j+ 1] = p;
			}
		}
}
void Print(Data &d)          //输出顺序表 
{
	for (int i = 0;i <=d.length-1;i++) 
	{
		cout << d.P[i].key << "  " << d.P[i].n << endl;
	}
}
int main() {
	Data d;    //定义顺序表基地址 
	InitData(d);     //调用函数初始化 
	Print(d);       
	cout << "冒泡排序后的结果" << endl;
	Bubble_Sort(d);       //调用冒泡排序 
	Print(d);
	system("pause");      //暂停运行结果 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值