基础练习
文章平均质量分 62
Arrow0lf
这个作者很懒,什么都没留下…
展开
-
几种常用的比较排序实现
练习了一下几种常用的比较排序算法,包括冒泡排序、选择排序、插入排序、快速排序、归并排序等。#include <iostream>#include <string>#include <algorithm>using namespace std;// 冒泡排序// 最简单的实现方法,比较相邻两数,把大数冒到后边void BubbleSort(in...原创 2018-09-06 19:54:54 · 206 阅读 · 0 评论 -
C语言中二维数组作为参数
面试时曾经被问到一个问题,就是关于C语言中二维数组作为参数的问题。C语言中形如a[x][y]的二维数组是按行来存储数据的,意思就是说C语言会根据第二个长度y来截断数据,然后才能检索。因此,当将二维数组作为函数参数的时候,必须给出y的值,否则不能截断,编译会出错。若想将已有二维数组作为函数参数,可以将二维数组进行强制转换,然后根据*(a + i*y+j)的方式访问元素。示例程序如下(注意标红部分...原创 2018-05-26 17:04:47 · 1250 阅读 · 0 评论 -
常用动态规划举例(一)
动态规划类问题涉及三个概念:最优子结构,状态转移公式,边界条件。解决动态规划类问题的首要任务是找到最优子结构,典型的有台阶的走法问题:有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上一级或两级台阶,要求计算一共有多少种走法。解决方法是:第一步,找到最优子结构:如果只差最后一步走到第十阶,这时有几种情况。然后根据最优子结构找到状态转移公式和边界条件,最后可以用动态规划求解。以下是几...原创 2018-09-12 16:47:15 · 823 阅读 · 0 评论