First Class 数据结构实验-起泡排序

/****************************************************
  @Title: 数据结构实验
  @Name: <实验1-1> 起泡排序
  @Object:
     [实验目的]
        把起泡排序的算法改写成C语言程序,并编写程序
        进行调试。掌握如何把类C语言书写的算法改写成
        C语言程序。
        
     [实验提示]
        1)怎样将类C语言算法改写成C语言程序?
           如:怎样处理局部变量,怎样处理符号常量等。

        2)怎样书写程序才能提高代码的可读性?
           如:文件的格式,函数声明的位置,主函数的位置,
           函数具体实现的位置,采用缩进格式等。
     
  @Usage:
      请查看"TO-DO列表",根据要求完成代码
  @Copyright: BTC 2004
  @Author: Zhuang Bo
  @Date: 2004
  @Description:
*****************************************************/

///
// 包含头文件
#include <stdio.h>

///
// 对主函数中调用的函数进行声明

// 对数组a[0..n-1]进行起泡排序,使数据从小到大有序
//-------------------------------------
// TODO (#1#): 这里插入函数bubble_sort()的声明

//-------------------------------------

// 顺序打印数组a中的元素  
void print_out(int a[],int n);



///
// 起泡排序 主程序
void main()
{
	// 测试数据
	int a[]={82,47,29,74,91,53,82,62,98,51};
	
	printf("起泡排序\n");
	
	// 打印排序前的数据
	printf("排序前:\n");
	print_out(a,10);
	
	// 进行起泡排序
	/***如果函数写在main()函数之前则在主函数中不用声明,否则需要声明****/
	void bubble_sort(int a[],int n);
    //-------------------------------------
    // TODO (#1#): 这里调用bubble_sort()对数组a排序
    bubble_sort(a,10);
    //-------------------------------------

	// 打印排序后的数据
	printf("排序后:\n");
	print_out(a,10);
}

///
// 函数的实现定义在下面 
void bubble_sort(int a[],int n)
{
    //-------------------------------------
    // TODO (#1#): 这里定义函数中用到的变量
	for(int i=0;i<n-1;i++)
		for(int j=0;j<n-i-1;j++)
		{
			if(a[j]<a[j+1])
			{
				int temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;
			}
		}
    
    //-------------------------------------
    
	
} // bubble_sort

#define  TRUE 	1
#define  FALSE 	0

// 对数组a[0..n-1]进行起泡排序,使数据从小到大有序

// 顺序打印数组a中的元素
void print_out(int a[],int n)
{
	int i;
	
	for(i=0; i<n; i++)
		printf(" %d",a[i]);
	printf("\n");
}

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值