程序需求:编程写一个名为BubbleSort的冒泡排序子程序,主子程序间的参数传递通过堆栈完成;并写主程序验证它。
编程思路:主程序向子程序传递数组的时候,传递的是数组的首地址,也就是传递的是指针,所以子程序中寻址采用间接寻址方式。
开发环境
Win10 + VS2017
C语言代码实现如下:
#include <stdio.h>
int array[10] = { 10,9,8,7,6,5,4,3,2,1 };
void BubbleSort(int arr[], int n)
{
for (int i = 0; i < n - 1; i++)
for (int j = 0; j < n - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
int main()
{
BubbleSort(array, 10);
for (int i = 0; i < 10; i++)
printf("%d\t", array[i]);
return 0;
}
汇编语言代码实现如下:
INCLUDELIB kernel32.lib
INCLUDELIB ucrt.lib
INCLUDELIB legacy_