09 2018 档案

摘要:创建过程: (1) 输入第一个数据: 若为0,表示此树为空,将空指针赋给根指针,树构造完毕; 若不为0,动态分配一个节点单元,并存入数据,同时将该节点地址放入队列。 (2) 若节点不为空,从队列中取出一个节点地址,并建立该节点的左右孩子: 从输入序列中读入下一数据; 若读入的数据为0,将出队节点的左 阅读全文
posted @ 2018-09-30 15:29 拾月凄辰 阅读(1597) 评论(0) 推荐(0) 编辑
摘要:1 int GetHeight(BinTree BT) 2 { 3 int HL, HR, MaxH; 4 5 if(BT) 6 { 7 HL = GetHeight(BT->Left); //求左子树的高度 8 HR = GetHeight(BT->Right); //求右子树的高度 ... 阅读全文
posted @ 2018-09-30 11:33 拾月凄辰 阅读(202) 评论(0) 推荐(0) 编辑
摘要:关键:叶子节点的左右子树都为空 阅读全文
posted @ 2018-09-30 09:59 拾月凄辰 阅读(2275) 评论(0) 推荐(0) 编辑
摘要:1 #include 2 #include 3 using namespace std; 4 5 int BF(const string& father, const string& son) //返回首次匹配的字符串中的第一个匹配的字符的下标 6 { 7 int i = 0, j = 0; //i表示主串下标,j表示子串下标 8 wh... 阅读全文
posted @ 2018-09-30 09:13 拾月凄辰 阅读(343) 评论(0) 推荐(0) 编辑
摘要:1 #include 2 #include 3 4 #define false 0 5 #define true 1 6 7 typedef int ElementType; 8 typedef int Position; 9 typedef int bool; 10 typedef struct QNode *PtrToQNode; 11 struct ... 阅读全文
posted @ 2018-09-30 09:12 拾月凄辰 阅读(234) 评论(0) 推荐(0) 编辑
摘要:1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 //获取符号的优先级 8 int getPriority(char c) 9 { 10 int priority = -1; 11 switch (c) { 12 case '+': 13 prio... 阅读全文
posted @ 2018-09-30 09:11 拾月凄辰 阅读(521) 评论(1) 推荐(1) 编辑
摘要:1 #include 2 #include 3 4 #define false 0 5 #define true 1 6 7 typedef int ElementType; 8 typedef int bool; 9 typedef int Position; 10 typedef struct SNode *PtrToSNode; 11 struct SNo... 阅读全文
posted @ 2018-09-30 09:10 拾月凄辰 阅读(142) 评论(0) 推荐(0) 编辑
摘要:1 #include 2 #include 3 4 #define false 0 5 #define true 1 6 7 typedef int ElementType; 8 typedef int bool; 9 typedef struct SNode *PtrToSNode; 10 struct SNode 11 { 12 ElementTy... 阅读全文
posted @ 2018-09-30 09:10 拾月凄辰 阅读(168) 评论(0) 推荐(0) 编辑
摘要:1 List Reverse(List L) //带头结点的单链表 2 { 3 Node *p, *q; 4 p = L->next; 5 L->next = NULL; 6 while(p) 7 { 8 q = p->next; 9 p->next = L->next; 10 ... 阅读全文
posted @ 2018-09-30 09:09 拾月凄辰 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-09-30 09:08 拾月凄辰 阅读(1143) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2018-09-30 09:08 拾月凄辰 阅读(6) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2018-09-30 09:07 拾月凄辰 阅读(9) 评论(0) 推荐(0) 编辑
摘要:注意: 在插入和删除的操作中,一定要把链表的头和尾拿出来单独分析! 由于链表在第一次完整连接后(比如下面程序中的PushBack函数),每个节点在链表中的内存地址已经固定了下来,比如上图中,b里保存的指针始终就是指向c的next的地址,c中保存的指针始终就是指向d的next的地址,d中保存的指针始终 阅读全文
posted @ 2018-09-30 09:06 拾月凄辰 阅读(242) 评论(0) 推荐(0) 编辑
摘要:1 #pragma once 2 3 // List.h 4 5 #include 6 7 using namespace std; 8 9 struct Node 10 { 11 int element; 12 Node *next; 13 }; 14 15 class List //单... 阅读全文
posted @ 2018-09-30 09:05 拾月凄辰 阅读(137) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2018-09-30 09:05 拾月凄辰 阅读(13) 评论(0) 推荐(0) 编辑
摘要:二叉树的结构: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullp 阅读全文
posted @ 2018-09-29 16:19 拾月凄辰 阅读(130) 评论(0) 推荐(0) 编辑
摘要:1 double dist( double h, double p ) 2 { 3 double sum = h; 4 while(h*p >= TOL) 5 { 6 h *= p; 7 sum += h*2; 8 } 9 return sum; 10 } 阅读全文
posted @ 2018-09-27 15:01 拾月凄辰 阅读(346) 评论(0) 推荐(0) 编辑
摘要:1 bool Insert( List L, ElementType X ) 2 { 3 int i = 0; 4 if(L->Last == MAXSIZE-1) //元素已满,无法插入 5 return false; 6 7 for(; i Last; ++i) 8 { 9 if(X ... 阅读全文
posted @ 2018-09-27 14:46 拾月凄辰 阅读(823) 评论(0) 推荐(0) 编辑
摘要:1 Position BinarySearch( List L, ElementType X ) 2 { 3 int left = 1, right = L->Last; 4 int mid; 5 while(left Data[mid] > X) //X在左侧 9 right = mid - 1; 10 ... 阅读全文
posted @ 2018-09-27 13:51 拾月凄辰 阅读(99) 评论(0) 推荐(0) 编辑
摘要:1 #include 2 3 using namespace std; 4 5 int MaxSubSum(int a[], int N) 6 { 7 int ThisSum = 0, MaxSum = 0; 8 for(int i = 0; i MaxSum) 12 MaxSum = ThisSum; //发现... 阅读全文
posted @ 2018-09-26 21:51 拾月凄辰 阅读(120) 评论(0) 推荐(0) 编辑
摘要:法一: 首先遍历一遍单链表,求出整个单链表的长度n,然后将倒数第m个,转换为正数第n-m+1个,接下去遍历一次就可以得到结果。 不过这种方法需要对链表进行两次遍历,第一次遍历用于求解单链表的长度,第二次遍历用于查找正数第n-m+1个元素。 法二: 设置两个指针,让其中一个指针比另一个指针先前移k步, 阅读全文
posted @ 2018-09-26 14:38 拾月凄辰 阅读(896) 评论(0) 推荐(0) 编辑
摘要:裁判测试程序样例: 解法一: 时间复杂度为O(n^2) 解法二:选取非删除元素建立新表,时间复杂度为O(n) 阅读全文
posted @ 2018-09-24 20:51 拾月凄辰 阅读(1866) 评论(0) 推荐(0) 编辑
摘要:1 double fn(double x, int n) 2 { 3 if(n == 1) 4 return x; 5 6 if((n-1)%2 == 1) //如果n-1是奇数 7 return -1*pow(x,n) + fn(x,n-1); 8 else 9 return po... 阅读全文
posted @ 2018-09-24 19:56 拾月凄辰 阅读(493) 评论(0) 推荐(0) 编辑
摘要:转载自:https://blog.csdn.net/hrw0702/article/details/5563699#commentBox 一、变量命名规范 变量体如果是多个单词,每个单词的首字母大写。 int iStudentAge; 使用变量前缀 1、整型前缀 short sValue; // s 阅读全文
posted @ 2018-09-24 11:12 拾月凄辰 阅读(793) 评论(0) 推荐(0) 编辑
摘要:参考视频:https://www.bilibili.com/video/av29580072/?p=1 GreedySnake.h 1 #ifndef GREEDYSNAKE_H_INCLUDED 2 #define GREEDYSNAKE_H_INCLUDED 3 4 5 #define SNAK 阅读全文
posted @ 2018-09-24 10:47 拾月凄辰 阅读(277) 评论(0) 推荐(0) 编辑
摘要:可参考视频:https://www.bilibili.com/video/av18710547/?p=34 汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵 阅读全文
posted @ 2018-09-21 20:52 拾月凄辰 阅读(170) 评论(0) 推荐(0) 编辑
摘要:本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementTyp 阅读全文
posted @ 2018-09-21 16:49 拾月凄辰 阅读(332) 评论(0) 推荐(0) 编辑
摘要:给定某数字A(1≤A≤9)以及非负整数N(0≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯A(N个A)。例如A=1, N=3时,S=1+11+111=123。 输入格式: 输入数字A与非负整数N。 输出格式: 输出其N项数列之和S的值。 输入样例: 输入样例: 1 3 6 100 阅读全文
posted @ 2018-09-20 17:34 拾月凄辰 阅读(352) 评论(0) 推荐(0) 编辑
摘要:设计函数求N个给定整数的均方差。若将N个数A[]的平均值记为Avg,则均方差计算公式为: 输入格式说明: 第1行输入正整数N(<=10000),第2行输入N个整数。 输出格式说明: 输出这N个数的均方差,要求固定精度输出小数点后5位。 样例输入与输出: 阅读全文
posted @ 2018-09-20 15:40 拾月凄辰 阅读(1403) 评论(0) 推荐(0) 编辑
摘要:本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性。 函数接口定义: List Insert( List L, ElementType X ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Nod 阅读全文
posted @ 2018-09-20 12:17 拾月凄辰 阅读(622) 评论(0) 推荐(0) 编辑
摘要:本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥0)个位置,即将a中的数据由(a​0​​a​1​​⋯a​n−1​​)变换为(a​m​​⋯a​n−1​​a​0​​a​1​​⋯a​m−1​​)(最前面的m个数循环移至 阅读全文
posted @ 2018-09-20 12:15 拾月凄辰 阅读(590) 评论(0) 推荐(0) 编辑
摘要:模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。 输入格式: 输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。 输出格式: 在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算 阅读全文
posted @ 2018-09-20 12:13 拾月凄辰 阅读(308) 评论(0) 推荐(0) 编辑
摘要:转载自:https://wdxtub.com/2016/04/16/thin-csapp-2/ 缓冲区溢出 这一节是机器代码的最后一部分,主要说说由缓冲区溢出引起的攻防大战。我们先来看看程序在内存中是如何组织的(x86-64 Linux): 最上面是运行时栈,有 8MB 的大小限制,一般用来保存局部 阅读全文
posted @ 2018-09-14 15:19 拾月凄辰 阅读(663) 评论(0) 推荐(0) 编辑
摘要:本文转载自:https://blog.csdn.net/shulianghan/article/details/20472269 C语言程序内存分配 (1) 内存分区状况 栈区 (stack) : -- 分配, 释放方式 : 由编译器自动分配 和 释放; -- 存放内容 : 局部变量, 参数; -- 阅读全文
posted @ 2018-09-13 21:52 拾月凄辰 阅读(1738) 评论(0) 推荐(0) 编辑
摘要:转载自:https://wdxtub.com/2016/04/16/thin-csapp-1/ 阅读全文
posted @ 2018-09-12 13:03 拾月凄辰 阅读(322) 评论(0) 推荐(0) 编辑
摘要:1 #include <stdio.h> 2 int main() 3 { 4 unsigned char a = 128; 5 char b = a; 6 printf("a = %d , b = %d",a,b); 7 return 0; 8 } 输出结果为 a = 128 , b = -128 阅读全文
posted @ 2018-09-08 13:34 拾月凄辰 阅读(238) 评论(0) 推荐(0) 编辑
摘要:sprintf() 函数 例如: 阅读全文
posted @ 2018-09-06 21:22 拾月凄辰 阅读(281) 评论(0) 推荐(0) 编辑
摘要:程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。 3、全局区( 阅读全文
posted @ 2018-09-06 20:55 拾月凄辰 阅读(342) 评论(0) 推荐(0) 编辑
摘要:此文章参考《深入理解计算机系统》P31。 先看如下代码: 12345的十六进制表示为:0x00003039 1 #include <stdio.h> 2 3 int main() 4 { 5 int a = 12345; 6 char *q = (char *)(&a); 7 for(int i = 阅读全文
posted @ 2018-09-04 20:58 拾月凄辰 阅读(452) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩