📄 bubblepr.cpp
字号:
//这个程序在本书所带软盘中。文件名为BUBBLEPR.CPP
//这个程序利用指针和间接操作符,通过冒泡排序法将数组单元值从小到大排序。
#include <iostream.h>
#include <stdlib.h> //这个头文件支持随机函数rand()
#define max 10
void main(void)
{
void initialize(int*, int); //定义对数组初始化子程序
void bubble(int*, int); //定义冒泡排队子程序
void array_output(int*, int); //定义显示数组子程序
int array[max]; //定义数组
initialize(array, max); //调用初始化子程序
cout << "没有排序以前的数组:" << endl;
array_output(array, max);
bubble(array, max);
cout << endl << endl << "排序以后的数组:" << endl;
array_output(array, max); //显示数组
}
/*******子程序initialize()**************/
void initialize(int *arrayPtr, int size)
{
for (int i = 0; i < size; i++)
*(arrayPtr+i) = rand(); //调用随机函数
}
/***********子程序bubble()***********************/
void bubble(int *arrayPtr, int size)
{
int top, j, temp;
top = 0;
while (top < size-1) {
j = size-1;
do {
if (*(arrayPtr+j) < *(arrayPtr+j-1)) { //交换单元的值
temp = *(arrayPtr+j);
*(arrayPtr+j) = *(arrayPtr+j-1);
*(arrayPtr+j-1) = temp;
}
j--;
} while (j > top);
top++;
} //while循环结束
}
/**********子程序array_output()*****************/
void array_output(int *arrayPtr, int size)
{
for (int i = 0; i < size; i++)
cout << "array[" << i << "] = " << *(arrayPtr+i) << endl;
}
/*这个程序运行后将显示如下输出结果:
没有排序以前的数组:
array[0] = 346
array[1] = 130
array[2] = 10982
array[3] = 1090
array[4] = 11656
array[5] = 7117
array[6] = 17595
array[7] = 6415
array[8] = 22948
array[9] = 31126
排序以后的数组:
array[0] = 130
array[1] = 346
array[2] = 1090
array[3] = 6415
array[4] = 7117
array[5] = 10982
array[6] = 11656
array[7] = 17595
array[8] = 22948
array[9] = 31126
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -