08 2020 档案

摘要:效果:实现内存拷贝 参数:第一个参数是一个指针,指向拷贝目标区域;第二个参数是一个指针,指向被拷贝的内存区域;第三个参数是一个数,指定拷贝内容的内存大小 函数原型:void *memcpy(void* str1, const void* str2, size_t n) 头文件:#include<st 阅读全文
posted @ 2020-08-21 00:03 江南湖西北 阅读(6382) 评论(0) 推荐(0) 编辑
摘要:这道题在写之前一定要把题目读懂,笔者在设计代码时就对题意产生了错误的理解,好在后来这个错误被纠正了。 这道题最主要的点就是对解答树遍历并且回溯,也就是《算法竞赛入门经典》中所提到的“剪枝”。递归的主体是生成结点的全排列,而回溯操作简单来说就是在这个递归的基础上添加的一个判断。 先说生成全排列递归的操 阅读全文
posted @ 2020-08-16 17:51 江南湖西北 阅读(296) 评论(0) 推荐(0) 编辑
摘要:以前在学C语言的时候遇到了左移(右移)操作符。在知道这两种操作符是将一个十进制数的二进制形式按位左移(右移)时,便产生了一个疑问,就是移动时产生的多余的位是用1补还是用0补,于是就写了一个程序验证一下。 1 #include <bits/stdc++.h> 2 3 using namespace s 阅读全文
posted @ 2020-08-13 22:40 江南湖西北 阅读(1463) 评论(0) 推荐(0) 编辑
摘要:基本介绍:next_permutation是C++的STL库中的一个函数,这个函数可以求解一个数组中基于现有排列的下一个排列,而调用该函数之后生成的排列是上一个排列 基于字典序产生的下一个排列。(如果觉得拗口可以看下面程序的运行结果,一看就懂) 使用方法:next_permutation拥有两个参数 阅读全文
posted @ 2020-08-11 23:46 江南湖西北 阅读(523) 评论(0) 推荐(0) 编辑
摘要:这道题主要是写一个图的遍历。因为题目中要求是最短路径,所以采用的是宽度优先遍历。本来是想缩短运行时间而采用头尾同时使用bfs算法,但奈何个人水平有限而未能实现。所以本题代码中使用就是最直接的bfs算法。由于写这段代码时比较匆忙,所以代码应该还有较大的优化空间。 1 #include <bits/st 阅读全文
posted @ 2020-08-10 16:45 江南湖西北 阅读(188) 评论(0) 推荐(0) 编辑
摘要:此题如果分析得当会发现本质上就是一个C语言的二-十进制转换。由于输入的S树的叶子节点是在xi已经排好序的基础上输入的,所以在解题时并不要考虑xi的顺序。 1 #include <bits/stdc++.h> 2 3 using namespace std; 4 5 /**************** 阅读全文
posted @ 2020-08-09 16:30 江南湖西北 阅读(178) 评论(0) 推荐(0) 编辑