`
superwulei
  • 浏览: 106089 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

几个递归练习

 
阅读更多

1.反向输出字符串

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->1 void  stringReverse(  char  array[] )
2 {
3      if  ( array[ 0 ==   ' \0 '  )
4          return ;
5     stringReverse( array  +   1  );
6     printf(  " %c " , array[ 0 ] );
7 }


2.输出数组

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->1 void  printArray(  int  array[],  int  size )
2 {
3      if ( size  ==   0  )
4          return ;
5     printf(  " %d  " , array[ 0 ] );
6     printArray(  ++ array,  -- size );
7 }


3.查找数组中的最小值

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> 1 int  recursiveMinimum(  int  array[],  int  size )
 2 {
 3      if  ( size  ==   1  )
 4          return  array[ 0 ];
 5
 6      if  ( array[ size  -   1  ]  <  recursiveMinimum( array, size - 1  ) )
 7          return  array[ size  -   1  ];
 8      else
 9          return  recursiveMinimum( array, size - 1  );
10 }


4.选择排序
选择排序:从数组中查找最小的值,将其同数组中的第一个元素交换,然后从第二个元素开始查找最小的值同数组第二个元素交换,这样重复一直到只剩最后一个元素为止。

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> 1 void  selectionSort(  int  list[],  int  n,  int  start)
 2 {
 3      {   
 4          int  i;   
 5          int  p  =  start;   
 6          if  ( start  <  n  -   1  )   
 7          {       
 8              for  ( i  =  start; i  <  n; i ++  )   
 9              {
10                  if  ( list[i]  <  list[p] )   
11                     p  =  i;  
12             }

13             i  =  list[ p ];   
14             list [ p ]  =  list[ start ];   
15             list[ start ]  =  i;   
16             selectionSort( list , n , start + 1  );   
17         }
   
18     }
   
19 }

5.线性查找

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> 1 int  linerSearch( int  a[],  int  key,  int  size)
 2 {  
 3      if  ( size  >   0  )  
 4      {  
 5          if  ( a[ size  -   1  ]  ==  key )
 6              return   size  -   1 // 反方向,返回下标  
 7          return  linerSearch( a, key, size  -   1  );  
 8     }
    
 9     
10      return   - 1 // 未找到  
11 }
 
分享到:
评论

相关推荐

    201900302030_邵嘉明_实验一:递归练习1

    2、掌握递归的实现思想 2、输出这几个整数的全排列,每个数之间用半角“,”隔开,中间不要有空格,每个排列单独一行 3、程序一定要有Input、Output、En

    C语言入门的几个简单练习

    C语言入门的几个简单练习(输出1-1000质数,九九乘法表,输出*金字塔,给出年、月、日,计算该日是该年的第几天,用递归方法就n阶勒让德多项式的值等),适合C语言入门的新手进行练习。

    无限级树(Java递归)

    前面几个小图标的判断,搞死我了。 package com.nickol.servlet; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.PreparedStatement; import ...

    春节7天练丨Day2:栈、队列和递归1

    关于栈、队列和递归的几个必知必会的代码实现队列递归对应的 LeetCode 练习题(@Smallfly 整理)英文版:https://leetcode.com/

    蓝桥杯练习系统 基础练习:BASIC-2 01字串

    它们的前几个是: 00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种01串。 输入格式  本试题没有输入。 输出格式  输出32行,按从小到大的顺序每行一个长度为5的01串。 样例输出 00000 00001 00010 ...

    二叉树习题

    一颗大树分成几个大的分枝,每个大分枝再分成几个小分枝,小分枝再分成更小的分枝,… ,每个分枝也都是一颗树,由此我们可以给出树的递归定义。 树(tree)是由n(n≥0)个结点组成的有限集合。n=0的树称为空树;n...

    一个自己练习的node爬虫小demo.zip

    爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP...

    这是一个python爬虫的若干个练习小demo.zip

    爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP...

    爬虫练习.zip

    爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP...

    C#基础每日练习2018.12.11

    求第30位数是多少, 用递归算法实现。 //int n = FindNum(30); //Console.WriteLine(n); //Console.ReadKey(); #endregion #region 2:有一个3*4矩阵,输出最大元素的值,及其所在的行号和列号, int a[3][4]=...

    毕业设计,课程项目练习,学习C/C++语言自学小项目

    算不上一个项目,几个函数之间的调用,难点就是如何不采用公式计算当天在当年所处的哪一天 2.俄罗斯方块 第一个真正的项目,意义重大!记得是8.8号看到这个源码,心态炸裂,500行代码,20多个函数,心生恐惧连看都看不下去,...

    爬虫项目练习.zip

    爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP...

    python爬虫练习.zip

    爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP...

    scrapy爬虫练习项目.zip

    爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP...

    浙江大学C语言上机练习题附答案

    10017 递归函数程序设计求Fabonacci数列 48 10019 改错题error10_1.cpp 49 10022 编程题 50 10026 指定位置输出字符串 50 10027 藏尾诗 51 10028 改错题error11_2.cpp 52 40065 分解质因数 53 40067 打印图案 54 夏6...

    python爬虫实战练习手册.zip

    爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP...

    python爬虫练习案例.zip

    爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP...

    小说爬虫【个人练习】.zip

    爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP...

    日常做一些爬虫的练习.zip

    爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP...

Global site tag (gtag.js) - Google Analytics