c语言 数组的冒泡排序对函数的简易理解

本文通过冒泡排序的例子介绍C语言中函数的创建和使用。包括inputDataFunction(数组赋值)、outputDataFunction(遍历元素)、bubbleSortingFunction(升序排序)和reverseOrder(逆序排列)四个函数,旨在帮助读者更好地理解和应用函数。
摘要由CSDN通过智能技术生成
你的成就由你买单
大白的笔记难免由不足之处,望大佬指点一二

函数

函数(function)

完成特定任务的独立代码单元,让程序更加模块化,减少代码的重复性,提高代码的阅读性。
(边理解在通过代码演示往往会有事半功倍的效果)

#include <stdio.h>           //c库文件头
void main(void)
{
       printf("main函数是所有程序调用的入口");
}

上面就是我们最常见的一个函数,称为主函数。(不多逼逼,只要学了程序语言基本都知道)

如何自己创建一个函数

通过数组中冒泡排序这个例子,需要使用到的函数举例,这样就更容易理解。

int inputDataFunction(int array[] , int input)    //对数组通过键盘输入元素
{
   int a;
   for(a=0;a<input;a++)
   {
     scanf("%d"&array[a]);  
   }
   return 0}

inputDataFunction函数功能:

对数组进行赋值,你知道其中的方便了吗?(试想如果我通过键盘进行赋值是非常麻烦的,通过函数就简单实现了,是不是很爽!)

int outputDataFunction(int array[] , int output)     //输出素组的元素
{ 
   int m ;
   for(m=0 ; m<output ; m++)
   {
      printf("%d",array[m]);
   }
    return 0}

outputDataFunction函数的功能:

调用后对元素进行遍历 (同样方便,只要我们进行传参进行调用就可以对数组元素遍历)

int bubbleSortingFunction( int array[] , int length)
{
    int c,d ,middle;
    for(c = 0 ; c<length ; c++)
    {
       for(d = 0 ; d<length-c-1 ; d++)
          if(array[d]>array[d+1])
          {
               middle = array[d];
               array[d] = array[d+1];
               array[d+1] = middle;
          }
    }
    return 0 ;
}

bubbleSortingFunction函数的功能是:

对数组元素进行升序排序,排序千万种,冒泡是一种。


int reverseOrder(int array[] , int length)
{    
   int e,middle,a = 0 ;
   for(e=0 ;e<length/2 ; e++)
   {
     a++;
     middle = array[e];
     array[e] = array[length-a];
     array[length-a] = middle;
   }
}

reverseOrder函数功能:

对数组元素进行逆序

**==================================**

函数的数据类型

函数类型其实跟变量的规则类似 (废话不多直接代码演示)

#include <stdio.h>
{
    void main(void){}
    //该函数类型表示没有返回值,也不能对此函数进行传参
    void mian(){}
    //仅仅表示函数没有返回值,可以进行对起进行传参
    int main(){}
    //表示此函数有返回值,也可以进行传参
    int main(void){}
    //表示此函数有返回值,但是不能进行传参

}

以上使用的函数进行汇总进行调用查看效果
代码如下:

#include <stdio.h>
int inputDataFunction(int array[] , int input);
int outputDataFunction(int array[] , int output);
int bubbleSortingFunction(int array[], int length);
int reverseOrder(int array, int length);
void main(void)
{
 int array[100] = { 0 };                                         //数组清零
 int length;
 printf("请你输入你想要排序的数组长度:范围在1~100  \n");
 scanf("%d",&length);
 printf("");
 printf("录入数组元素:  \n");
 inputDataFunction(array , length);
 printf("");
 printf("你输入的数组元素原数列:  \n");
 outputDataFunction(array , length);
 printf("\n冒泡排序之后的元素:\n");
 bubbleSortingFunction(array , length);
 outputDataFunction(array  , length);
 printf("\n冒泡排序后的函数进行逆序:\n");
 reverseOrder(array , length);
 outputDataFunction( array , length);
 }
 
int inputDataFunction(int array[], int input)      //对数组通过键盘输入元素
{
  int a;
  for (a = 0; a < input; a++)
  {
    scanf("%d", & array[a]);
  }
  return 0;
}
int outputDataFunction(int array[] , int output)
{
  int m ;
  for(M=0;M<output;m++)
  {
     printf(" %d",array[m]);
  }
  return 0 ;
}
int bubbleSortingFunction(int array[] ,int length)
{
  int c ,d,middle;
  for(c=0 ; c<length ; c++ )
  {
    for(d=0 ; d<length-c-1 ; d++)
    {
       if(array[d]>array[d+1])
      {
       middle = array[d];
       array[d] = array[d+1];
       array[d+1] = array[d];
      }
   }
 }
  return 0 ;
}
int reverseOrder(int array[] , int length)
{
    int e,middle ,a =0 ;
   for(e=0 , e<length/2 ;e++)
   {
      a++;
      middle = array[e];
      array[e] = array[length-a];
      array[length-a] = middle;
   }
}

运行结果如下

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值