![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
源神
天道酬勤
展开
-
经典排序算法
1、直接插入排序基本思想:把待排序的纪录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的纪录插入完为止,得到一个新的有序序列。稳定算法,时间复杂度为O(n^2)。参考代码:void insert_sort(int a[], int n){ for (int i = 1; i < n; i++) { int tmp = a[i]; //记录待插入元素原创 2017-03-27 21:46:46 · 300 阅读 · 0 评论 -
进制数模式
1.进制数模式考虑n位二进制数,有多少个数中不存在两个相邻的1。例如,3位数中有5个数符合这一要求:000、001、010、100、101。1、试找出其中的规律2、请给出完整代码实现(参数输入代码可略)3、试证明你找到的规律是正确的思路:n位的二进制,比如3位:000 001 010 100 101什么规律呢,假设n位二进制有f(n)种不相邻的组合,原创 2017-04-03 15:48:26 · 897 阅读 · 0 评论 -
Josephus约瑟夫问题
假设n个竞赛者排成一个环形,依次顺序编号1,2,…,n。从某个指定的第1号开始,沿环计数,每数到第m个人就让其出列,且从下一个人开始重新计数,继续进行下去。这个过程一直进行到所有的人都出列为止。最后出列者为优胜者。假设n个竞赛者排成一个环形,依次顺序编号1,2,…,n。从某个指定的第1号开始原创 2017-04-04 22:42:54 · 643 阅读 · 0 评论 -
字符串循环右移
编写一个函数,作用是把一个char组成的字符串循环右移n个。比如原来是" abcdefghi “,如果n=2,移位后应该是 “hiabcdefg ”。参考代码:char *MoveString(char *pStr, int n){ int len = strlen(pStr); char *str = NULL; str = new char[len + 1]; if原创 2017-04-04 23:45:08 · 804 阅读 · 0 评论 -
字符串单词倒置
将一句话里的单词进行倒置,标点符号不倒置。比如一句话:i come from beijing.倒置后变成:beijing. from come i。参考代码:void reverse(char *str){ char tmp; int len = strlen(str); // 第一步:全部翻转 int begin = 0, end = len - 1; while原创 2017-04-05 00:14:24 · 865 阅读 · 0 评论