- 博客(14)
- 收藏
- 关注
原创 用队列实现基数排序/桶排序 原理及代码(Java)附可动态调整的循环数组实现队列
基数排序原理及伪代码和Java代码,附可动态调整的循环数组实现队列
2023-01-01 10:30:00 249
原创 线性筛找质数
线性筛找质数原理这种方法有个缺点,有些数会被多次筛掉例如,遍历到2会筛去6,遍历到3也会筛去6改进后的方法就是线性筛:每个合数都仅被其最小的质因数筛掉,时间复杂度O(n)为了做到这一点需要改变循环顺序、增加一个记录已获得质数的数组为了保证是最小质因数,从小到大遍历当前质数数组,将i的质数倍标记为合数。重点是要在i % prime[j] == 0时break,以跳出遍历质数数组的循环原因:存在 i % pri...
2022-07-10 23:42:58 135
原创 C语言创建线性表、插入、查找
定义线性表结构typedef struct SQLIST{ int *list; int len; int maxlen;}L;创建表L* creatlist(int maxlen){ L *sqlist= (L*)malloc(sizeof(L)); if (sqlist != NULL) { sqlist->list = (int)malloc(sizeof(int) * maxlen); if (sqlist->list == NULL) r
2022-02-16 12:11:21 1186
原创 C语言建立队列、入队、出队
定义队列结构typedef struct QUEUE{ int *array; int front; int rear;}Q;建立队列Q* creatqueue(int len){ Q* que = (Q*)malloc(sizeof(Q)); if (que) { que->array = (int*)malloc(sizeof(int) * len); if (que->array == NULL) return NULL; que->
2022-02-15 23:17:44 1264
原创 C语言建立栈、入栈、出栈
定义栈typedef struct STACK{ int *array; int top; int bottom;}S;建立栈S* creatstack(int len){ S* stack = (S*)malloc(sizeof(S)); if (stack) { stack->array = (int*)malloc(sizeof(int) * len); if (stack->array == NULL) return NULL; sta
2022-02-15 22:07:35 1651
原创 冒泡排序、选择排序、快速排序(C语言实现)
目录冒泡排序选择排序快速排序测试用主函数冒泡排序void bubblesort(int n,char a[])//通过移动数组元素排序//无脑写法:内外循环均为n-1次{ for (int i = 0; i < n-1; i++)//总共进行n-1轮外循环 { for (int j = n-1 ; j > i; j--)//n-i-1次内循环使最小数移动到数组前部 { if (a[j - 1] > a[j]) { int tmp
2022-02-11 16:16:40 407
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人