- 博客(21)
- 收藏
- 关注
原创 链表的相关知识
单链表的结点结构Link p;while(p!//使p等于下一个元素的地址//以上步骤为创建头结点并初始化for(i=0;inext=NULL就不用写了rear=node;
2023-12-18 12:55:35 749
原创 随机数的生成
1、rand函数一般使用头文件为<stdlib.h>中的rand函数生成随机数。rand()会随机生成一个位于0~RAND_MAX之间的整数,RAND_MAX至少为32767。实际上,rand函数产生的随机数是伪随机数,是根据一个数值按照某个公式推算出来的,这个数值我们称为“种子”。种子与随机数之间的关系是一种正态分布。种子在每次计算机启动时是随机的,但是一旦计算机启动以后它就不会在发生变化(即成为一个定值)。rand函数的用法一般为:int a = rand();2、sran
2023-11-19 21:19:54 105
原创 八皇后问题和n阶皇后问题的递归回溯解法
/记录皇后摆放的列号//记录列是否被占领//记录上对角线是否被占领//记录下对角线是否被占领int num=0;//记录摆放的方法总数void print()//输出摆放方法num++;//摆放方法+1printf("第%d种情况\n", num);//定义8×8的棋盘for(i=0;i
2023-11-11 19:48:00 138 1
原创 欧拉筛选法
define MAXN 100000002 //定义最大范围//初始化存放素数,即素数列表//默认所有的数均为素数,标记为0//素数个数,一开始素数个数为0{ //欧拉筛法函数int i;for (i = 2;i
2023-11-07 23:03:09 248
原创 汉诺塔问题
A-->BA-->CB-->Cvoid move(char a, char b)//移动函数,表示将a上的一个盘子移动到b上void hanoi(int n, char x, char y, char z)//n为盘子的总数,x为需要移动的柱子,y为协助的中转的柱子,z为盘子最后转移到的柱子//如果只有一个盘子,则直接将盘子转移到最后需要转移到达的柱子else//先将n-1个盘子从x借助z转移到y上move(x,z);//转移x上第n个盘子到z上//将y上的n-1个盘子借助x转移到z上。
2023-11-07 22:51:57 168
原创 插入排序法
int t;//记录当前需要排序的元素的值int i;//需要排序的元素的计数器int j;//插入排序时,需要后移的元素的计数器for(i=1;i=0;j--)//从已排序的最右边开始比较//若前面的某一个元素小于或等于该待排序元素,则出循环,即该元素的位置在此时j的后方。
2023-11-07 22:48:45 53
原创 二分查找法
/ 未搜索到数据返回-1下标int mid;// 直接平均可能会溢出,所以用这个算法if (arr[mid] < key)//若待处理数大于中间值,则向右缩小else if (arr[mid] > key)//若待处理数小于中间值,则向左缩小else { // 最后检测相等是因为多数搜索情况不是大于就是小于ret = mid;break;return ret;// 单一出口。
2023-11-07 22:41:07 59
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人