⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bubblepr.cpp

📁 c语言教程源码
💻 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 + -