代码:
// test00.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include<cstdlib>
#include <iostream>
using namespace std;
int main(int argc,char *argn[])
{
cout << "========冒泡排序=======" << endl;
cout << endl;
int len = 0;
cout << "请输入数组的长度:" << endl;
cin >> len;
cout << "依次输入" << len << "个数据,用空格或者回车隔开:" << endl;
int* p = new int[len]; //分配空间
for (int i = 0; i < len; i++)
{
cin >> p[i];
}
int* r = p + len - 1;//p指向最后一个需要交换的元素
while (r != p) //若p不是指向第一个元素
{
int* q = p;
while (q < r)
{
if (*q < *(q + 1))//交换两个相邻的元素
{
int t = *q;
*q = *(q + 1);
*(q + 1) = t;
}
q++;//前指针后移
}
r--;//后指针前移
}
cout << "从小到大的次序依次为:" << endl;
for (int i = 0; i < len; i++)
{
cout << p[i] << endl;
}
cout << endl;
delete p;//释放数组空间
cout << endl;
system("pause");
return 0;
}