数据结构、算法与应用(c++语言描述)第一章 练习

数据结构、算法与应用(c++语言描述)

第一章

书上练习题 p6-p7

1、解释为什么程序1-7的交换函数没有把形参x和y所对应的实参进行交换。如何修改代码,使实参的值得到交换?

下面是程序1-7 交换两个整数的不正确的代码。

void swap(int x, int y){
   
	// 交换整数x和y
	int temp = x;
	x = y;
	y = temp;
}

下面是修改后的代码

#include <iostream>
using namespace std;
// 传递参数使用引用传递
void swap(int& a, int& b){
   
    int tmep = a;
    a = b;
    b = tmep;
}

int main(){
   
    int a = 1, b = 2;
    swap(a, b);
    cout << "a:" << a << "b:"  << b << endl;
}
2、编写一个模板函数count,返回值是数组a[0: n-1]中出现的次数。测试你的代码。
#include <iostream>
using namespace std;
template <class type,int len>
int  countValue(type array[len], type value)                  
{
   
    int cnt = 0;
    for (int i = 0; i < len; i++){
   
        if (array[i] == value){
   
            cnt += 1;
        }
    }
    return cnt;
}
int main()
{
   
    int array[5] = {
   1,2,3,5,5};                
    cout << countValue<int,5>(array, 5) << endl ;        
    double array2[5] = {
   1.2, 1.2, 1.3, 1.4, 1.5};
    cout << countValue<double,5>(array2, 1.2);
}

测试结果:
2
2

3、编写一个模板函数fill,给数组a[start: end-1]复制value。测试你的代码。
#include <iostream>
using namespace std;
template 
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
数据结构算法应用C语言描述(第二版)》是一本以C语言为基础,介绍数据结构算法的教材。下面将从内容概述、特点和应用三个方面进行回答。 首先,本书的内容主要包括:线性表、栈和队列、树、图、排序、查找等常见的数据结构算法。通过对这些基本数据结构算法的介绍,读者可以深入理解其原理和实现方式。 其次,本书的特点有以下几点:首先,基于C语言进行讲解,读者可以通过实例代码来理解数据结构算法的实现方式,提升自己的编程能力。其次,采用了结构化的教学方式,将知识点分成小块进行讲解,并通过习题和实例加深读者对知识点的理解。再次,书中每个知识点都有实际应用的示例,读者可以通过实例来了解数据结构算法在实际中的应用场景。 最后,本书的应用主要包括:软件开发、算法设计和数据结构设计等领域。在软件开发中,数据结构算法是必备的基础知识,可以帮助开发人员设计和优化程序。在算法设计领域,本书介绍了常见的排序、查找和图算法等,为读者提供了一些常用算法的基础。在数据结构设计领域,本书详述了线性表、树和图等数据结构的实现方式,读者可以基于这些知识进行数据结构的设计和实现。 总结来说,《数据结构算法应用C语言描述(第二版)》是一本基于C语言数据结构算法教材,通过具体的代码实例和应用示例,帮助读者深入理解数据结构算法的原理和实现方式,并且适用于软件开发、算法设计和数据结构设计等领域的应用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值