![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
我拿buff
学无止境
展开
-
c/c++递归实现排列Permutations
利用递归实现排列,比如实现字符数组list[]=“abc”的排列,方法的思想是,a开头,后面bc所有排列,然后b开头后面ac所有排列,然后c开头后面ba所有排列。以下是例子代码,这里涉及到了递归调用里面含有for循环的问题。递归调用里含有for循环,也就是在for循环里面进行了递归调用。这个时候可以理解成多层递归,例如下面例子中,第一层递归时开始执行第一次for循环,执行for循环时候开始了第原创 2016-06-30 20:29:57 · 1469 阅读 · 0 评论 -
c/c++插入排序
插入排序是低级排序中比较快的一种,原理是,将数据分为内外两部分,内部初始为一个数据,将外部数据插入内部,插入的原则是比后面的小,比前面的大。代码如下(c编写)#includevoid insertionsort(int *a,int n);void main(){ int a[10]={7,2,1,3,6,5,0,9,8,4}; int j; insertion原创 2016-08-25 19:37:05 · 358 阅读 · 0 评论 -
c/c++选择排序(SelectionSort)
选择排序原理是,先选取第一个数与其他所有数比较,把比较后的最小的数与第一个数交换,这样每执行一次循环就会将最小的数排到最左边,并且下一次循环比较时就会从第二个数再进行比较,也就是少比较一次,同冒泡排序的循环体一样,也分为外循环和内循环,外循环每排出一个最小的数,内循环就会减少一次循环,循环体:for(i=0;i<n-1;i++)//外循环 { for(j=i+1;j<n;j++)//内循原创 2016-06-22 10:48:32 · 4476 阅读 · 0 评论 -
c/c++冒泡排序(BubbleSort)
冒泡排序的原理是,每执行一次循环,就会把最大的数放到右边,例子中arr[]={2,1,6,3,8,4,9,5,7,0};总共十个数,第一次选择最大的数需要比较9次,第二次在未排序的数中选择最大的数则就需要8次了,因为已经有一个数已经排好序了不需要再比较了,以此类推,比较7次,6次,,,,,也就是说有两个循环,一个外循环一个内循环,外循环每增加1次(每选出一个最大的数),则内循环比较次数就减少1原创 2016-06-22 10:04:15 · 5262 阅读 · 0 评论 -
c/c++递归实现二分查找
使用递归的方式实现二分查找,代码中输出用的c++,如果是c的话,只要将头文件改成#include,删除命名空间using namespace std;并且将输出cout#include using namespace std;int binsearch(int *a,int x,int left,int right);void main(){int arr[]={2,4原创 2016-06-21 19:54:46 · 3988 阅读 · 0 评论 -
c/c++递归、迭代例子
递归就是函数自己调用自己比如求n的阶乘n!,我们拿5为例,5!=5*4*3*2*1我们可以把它写成:5!=5*4!4!=4*3!3!=3*2!2!=2*1!1!=1*0!//已知的结果也就是逐渐的把复杂问题简单化,最终是一个已知的结果#include using namespace std;long factorial(int n);long i原创 2016-06-21 19:19:03 · 3265 阅读 · 0 评论 -
c/c++折半查找(二分查找)
折半查找也叫二分查找,是很快的查找方式,使用普遍,前提是数据先进行排序,比如以下例子中用到的数组就是拍好序的int arr[]={1,2,3,4,5,6,7,8,9,10};#include using namespace std;int binSearch(int x,int a[],int n);void main(){int arr[]={1,2,3,4,原创 2016-06-21 10:59:41 · 1972 阅读 · 0 评论 -
swap算法——c语言中值传递和引用传递的问题
#include void swap(int x,int y);void main(){int a,b;a=1;b=10;printf("a和b的值为:\n");printf("a=%d,b=%d\n",a,b);//结果1swap(a,b);printf("a和b交换后的值为:\n");printf("a=%d,b=%d\n",a,b);//结果2原创 2016-06-08 10:53:08 · 2091 阅读 · 0 评论