zoukankan      html  css  js  c++  java
  • 函数形参给我们的方便

         以前在写程序的时候,觉得c语言的函数形参总是给我了不便,因为他修改的只是实参的一个样本,实参并不受影响,如果想实参也随之改变可以使用指针,最近看了一个小程序,却巧妙地应用了实参不受影响这一点:

        在c++里我们可以为队列定义如下

    class Queue
    {
    private:
    int front, rear;
    public:
    void enQueue(type x);
    void deQueue();
    type getFront();
    bool isEmpty();

    }

    如果用这个类实现判断两个队列是否相等,可能会比较麻烦,因为判断相等不能改变原来的结构,但是这个类没给什么成员可以简单的实现这一点。

         但如果有这样一个c结构体

    struct Queue

    {

    int front ,rear;

    }

    使用这个结构体的函数有

    void enQueue(Queue,type x);
    void deQueue(Queue);
    type getFront(Queue);
    bool isEmpty();

    现在可以轻松地实现判断相等操作

    bool equal()

    {

     bool flag = true;

     while( ! isEmpty(Q1) && ! isEmpty(Q2))

      {

      if(getFront(Q1) != getFront(Q2))

        flag = false;

      }

      if(isEmpty(Q1) || isEmpty(Q2)  || flag == false)

       return false;

      else 

      return true;

    }

    注意这里没有更改原队列,equal函数操作的只是其副本而已

  • 相关阅读:
    axios的数据请求方式及跨域
    vuex 的介绍
    返回顶部的过渡式写法
    数据结构和算法——二叉树
    RecyclerView的刷新和加载更多
    希尔排序小结
    选择排序小结
    插入排序小结
    冒泡、快速排序小结
    数据结构和算法——递归算法
  • 原文地址:https://www.cnblogs.com/wghost/p/2238455.html
Copyright © 2011-2022 走看看