C语言基础
……
逃夭丶
你是我荒唐青春里唯一的认真
展开
-
C基础篇——四舍五入
常见的四舍五入的方法:强制转化法:(int)例如:double num1 = 1.58; \\若为仅保留整数的四舍五入int num2;num2 = (int)(num1 + 0.5);........若为保留n位小数的四舍五入:则:double num2 = (num1 * pow(10,n) + 0.5) / pow(10,n);.......函数法:round(...原创 2019-01-20 15:14:15 · 1499 阅读 · 0 评论 -
C基础篇——排序(一)
选择排序法:用选择排序法对一组数据由小到大进行排序:程序中用到两层 for 循环语句。第一层 for 循环是用了确定位置的,该位置是存放每次从原数列中经选择和交换后所选出的最小的数。第二层 for 循环是实现将确定位置上的数与后面待排序区间中的数进行比较的。#include<stdio.h>int main(void){ int num[100]; int...原创 2019-01-20 15:57:18 · 183 阅读 · 0 评论 -
C语言基础——排序(二)
简单说一下排序的组成:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。n较大时,则应选择时间复杂度为0(nlog2n)的排序方法:快速排序、堆排序或归并排序;而快速排序是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短;快速排序:快速排序函数...原创 2019-01-20 17:32:07 · 144 阅读 · 0 评论 -
C语言基础——排序(三)
1.插入排序—直接插入排序(Straight Insertion Sort)基本思想:将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。要点:设立哨兵,作为临时存储和判断数组边界之用。如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相等元素的后面。所以,相...原创 2019-01-21 12:53:36 · 84 阅读 · 0 评论 -
快速降幂[C/C++]
快速幂的目的是快速算底数的n次幂,其时间复杂度为 O(log₂N)。1.原理:以a的b次方为例:先把b转化为二进制数,该二进制数第i位的权为a^(i-1)例如:**a11 = a(2^0+2^1+2^3) **11的二进制:1011因此,我们将a¹¹转化为算 a2^0 × a2^1 × a2^3#include<stdio.h>#include<math.h&...原创 2019-02-01 14:19:05 · 470 阅读 · 0 评论 -
静态链表(基础模板)
一、定义静态链表。代码如下:struct Node{ int address; //节点地址 typename data; //数据域 int next; //指针域 XXX; //节点的某个性质,不同的题目会有不同的设置,详见例题 }node[maxn];二、在程序开始,对静态链表进行初始化。一般来说,需要对定义中的XXX进行初始化,将其定义为正常情况下达不到的数字,列如对结点是...原创 2019-07-09 15:10:13 · 79 阅读 · 0 评论