![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
#花生酥
c,c++的学习者
展开
-
顺序表的删除与插入
int ListInsert(SeqList *L, int i, DataType x) { int j; if (L->size >= MaxSize) { printf("顺序表已满无法插入!\n"); return 0; } else if (i<0 || i>L->size) { printf("参数i不合法!\n"); return 0; } else {...原创 2020-06-02 20:21:44 · 1028 阅读 · 0 评论 -
C语言实现插入排序
#include<stdlib.h>#include<string.h>#include"sort.h"int issort(void *data, int size, int esize, int(*compare)(const void *key1, const void *key2)){ char *a = data; void *key;...原创 2020-05-04 13:43:20 · 233 阅读 · 0 评论 -
递归之尾递归
尾递归如果一个函数中所有的递归形式的调用都出现在函数的末尾,我们称这个递归函数是尾递归的。当递归调用是整个函数体系中最后执行的语句且它的返回值不属于表达式的一部分时,这个递归调用就是尾递归。特点:在回归的过程中不用做任何操作,大多数的现代编译器会根据这备战特点自动生成优化的代码。#include<stdio.h>int facttail(int n, int a) ...原创 2020-02-28 20:57:19 · 208 阅读 · 0 评论 -
冒泡排序法与快速排序法对比
对比元素个数30000时,冒泡排序法和快速排序法算法的实际耗时#include<stdio.h>#include<stdlib.h>#include<time.h>typedef int KeyType;typedef struct { KeyType Key;}DataType;void BubbleSort(DataTy...原创 2020-02-24 21:17:50 · 1080 阅读 · 0 评论 -
矩阵相乘算法
数学中矩阵相乘的具体过程:1、当矩阵A的列数等于矩阵B的行数时,A与B可以相乘。2、矩阵C的行数等于矩阵A的行数,C的列数等于B的列数。3、乘积C的第m行第n列的元素等于矩阵A的第m行的元素与矩阵B的第n列对应元素乘积之和。C语言算法过程:for(i=0;i<n;i++) for(j=0;j<n;j++) { c[i][j]=0; fo...原创 2020-01-16 19:43:32 · 33692 阅读 · 0 评论 -
基于C语言的冒泡排序法
对数组中的n个整数类型的数据元素(a[0]~a[n-1])进行排序。void BubbleSort(int a[],int n){ int i,j,flag=1; int temp; for(i=0;i<n&&flag==1;i++){ flag=0; for(j=0;i<n&&flag=1;i...原创 2019-12-13 16:27:51 · 149 阅读 · 0 评论 -
逆置算法
设计一个把存储在数组中的n个抽象数据元素a0,a1,…,an-1逆置的算法。逆置就是把数据元素序列a0,a1,..an-1变化为数据元素序列an-1,…,a1,a0,并要求原数组中的数据元素值不被改变。这个算法的参数应该有三个:表示原数组的输入参数a,表示数据元素的个数的输入参数n,表示逆置后的输出参数b。算法设计如下:void Reverse(DataType a[],in...原创 2019-11-26 23:15:53 · 3997 阅读 · 1 评论 -
Karatsuba算法(更快的乘法)
Karatsuba算法(更快的乘法)25*63传统的算法:A:20*60 B:5*3 C:20*3 D:60*5 答案E=A+B+C+D=1575Karatsuba算法A:将乘数拆分成几个部分25------2 563------6 3B:将每个乘数的十位数彼此相乘2*6=12C:将每个乘数的个位数彼此相乘5*3=15D:将每个乘数的...转载 2019-05-15 21:25:27 · 4353 阅读 · 0 评论 -
进制转化,对新手比较友好那种
二进制与十进制的转化: *128 *64 *32 *16 *8...原创 2019-09-14 10:18:01 · 100 阅读 · 0 评论