- 博客(18)
- 收藏
- 关注
原创 C++ ch.02(下)
1.I/O流在C++中,将数据从一个对象到另一个对象的流动抽象位流。流在使用前被建立,使用后被删除。数据的输入输出通过I/O流实现。cin,cout是预定义的流类对象。cin处理标准输入,cout处理标准输出。从流中获取数据的操作被称为提取操作,向流中添加数据的操作被称为插入操作。2.预定义的插入符和提取符<<是预定义的插入符,作用在cout上:cout<<表达式<<表达式》标准输入是将提取符作用在流对象cin上:cin>>表达式>
2020-10-13 10:48:35
326
原创 C++ ch.02(上)
1.#include <iostream>using namespace std; //命名空间可以避免命名冲突,打开std命名空间int main(){ cout<<"hello"<<endl; cout<<"Welcome to C++"<<endl;}2. C++词法记号关键字标识符文字分隔符运算符(操作符)空白符3. 标识符的构成规则以大小写字母或下划线开始可以由大小写字母,下划线和
2020-10-12 09:56:17
232
原创 DS 0929(第五章 二叉树)
二叉树或者为空二叉树或者是一个根结点和两个互不相交的被称为根的左子树和右子树组成。左子树和右子树又分别是一颗二叉树。特点每个结点之多有两颗子树左右子树不可以颠倒(二叉树是有序树)注意与度为二的有序树的区别几个特殊的二叉树满二叉树特点:只有最后一层有叶子结点,不存在度为1的结点,按层序从1开始编号,结点i的左孩子为2i,右孩子为2i+1;结点i的父节点为i/2完全二叉树特点:只有可能在最后两层出现叶子结点,最多只有一个度为1的结点同满二叉树子节点,父节点算
2020-09-29 13:45:41
434
原创 DS 0927(第五章 树)
数def: 从一个根节点出发,通过边的连接到分支节点,再通过边的连接到没有后继的叶子节点空树:结点数为0的树非空数:有且仅有一个根节点没有后继节的结点被称为”叶子结点“有后继的结点被称为”分支结点“除了根节点外,每个结点有且仅有一个前驱每个根节点可以由0个或多个后继DEF: 树是n(n大于等于0)个结点的有限集合,n=0时,是空树,在任意一颗非空树中应满足有且仅有一个根节点当n>1时,其余结点可分为m(>0)个互不相交的有限集合,其中每个集合本身又是一个树,并且称
2020-09-29 09:31:44
235
原创 C++ ch.01
计算机语言的级别:二进制代码构成的机器语言使用助记符的汇编语言使用类似英语单词和语句的高级语言C++是面向对象的高级语言将客观现实中的事务都看成对象将同类的对象进行抽象形成类类封装了细节只对外暴露简单的接口对象之间通过消息进行通信...
2020-09-26 09:24:46
190
原创 DS 0925(第四章 关于串的算法)
串的朴素模式匹配算法模式匹配主串:S=‘abcdefg’子串:‘abc’ , ‘efg’ //子串一定是主串中存在的模式串:‘cde’ ,‘ifg’ //模式串是想要在主串中找到的,未必存在串的模式匹配: 在主串中找到与模式串相同的子串,并返回其所在的位置int Index(SString S,SString T){ int k=1; //使用变量k来表示当前取出子串的起始位置 int i=k,j=1; //使用i和j来分别指向两个串的对应位置 whi
2020-09-25 21:17:32
326
原创 DS 0907(第三章 栈与队列的应用等)
栈的应用—括号匹配问题eg:(((())))在程序中:最后出现的左括号最先被匹配----->栈的特性:先进后出,后进先出每出现一个右括号,就消耗(出栈)一个左括号遇到左括号就入栈,遇到右括号就消耗一个左括号出栈程序流程图:...
2020-09-10 13:59:05
373
原创 C Primer Plus CH7.C控制语句:分支和跳转
P177#include<stdio.h>int main (void) { const int FREEZING=0; float tem; int colddays=0; int alldays=0; while(scanf("%f",&tem)==1) { alldays++; if(tem<FREEZING) { colddays++; } } if(alldays!=0) { printf("%d days tota
2020-09-08 10:28:16
412
原创 C Primer Plus CH6.C控制语句:循环
C语言有三种循环:while,for,do whileP138summing//根据用户键入的整数求和#include<stdio.h>int main(void){ long num; long sum=0L; int status; printf("please enter an integer to be summed\n"); printf("q to quit\n"); status=scanf("%ld",&num); while(status==1
2020-09-08 10:26:14
221
原创 C Primer Plus CH5.运算符,表达式,语句
P103 shoes1.c#include<stdio.h>#define ADJUST 7.31 //字符常量 int main(void){ const double SCALE =0.333; //const变量 double shoe,foot; shoe=9.0; foot=SCALE*shoe+ADJUST; printf("shoe size (men's) foot length\n"); printf("%10.1f %15.2f inch
2020-09-08 10:24:27
198
原创 DS 0901(第三章 队列)
队列 Queue线性表:线性表是具有相同数据类型的n个数据元素的有限序列,其中n为表长。当n=0时,线性表是一个空表栈:是只允许在一端进行插入和删除的线性表队列:是只允许在一端进行插入,在另一端进行删除的线性表(入队,出队)terms:队头,队尾,空队列...
2020-09-07 21:22:25
264
原创 DS 0827(第三章 栈)
栈(stack)def:只允许在一端进行插入和删除操作的线性表(只能从表尾删除,插入)空栈:栈顶:允许插入和删除的一端栈顶:不允许插入和删除的一端后进先出 LIFO逻辑结构:与普通线性表相同栈的基本操作InitStack(&s):初始化栈。创造一个空栈s。分配内存空间DestoryStack(&L):销毁栈。销毁并释放栈s所占用的内存空间Push(&S,x):进栈。若栈s未满。则将x加入使之成为新栈顶Pop(&S,&x):出栈。若栈s非空,则
2020-09-01 09:23:07
249
原创 DS 0824(第二章 双链表等)
双链表单链表与双链表对比单链表只有一个指向后继结点的指针,所以如果给定结点p想要找到他的前趋结点很麻烦,无法逆向检索双链表在单链表的基础上,增加了一个指针域,指向其前趋结点。可进可退,存储密度更低typedef struct DNode{ //定义双链表结点数据类型 ElemType data; //数据域 struct DNode *prior,*next; //前趋和后继指针 }DNode,*DLinkList;带头节点双链表的初始化typedef st
2020-08-27 15:57:04
279
原创 DS 0821(第二章 单链表)
单链表**单链表:**链式存储,每个结点处理存放数据元素外,还要存储指向下一个节点的指针不要求大片的连续空间,改变容量方便不可随机存取,要耗费一定空间存放指针定义单链表的结点类型:struct LNode{ //定义单链表结点类型 ElemType data; //每个结点存放一个数据元素,数据域 struct LNode *next; //指针指向下一个结点,指针域 }; 增加一个新的结点,在内存中申请一片空间,并用指针p指向这个结点struct LNode *p=
2020-08-24 19:03:43
295
原创 DS 0819(第二章 顺序表)
线性表数据结构三要素定义:线性表是具有相同数据类型的n个数据元素的有限数列每个数据所占的储存空间一样大,有次序,其中n为表长,当n=0时线性表是一个空表注:若用L命名线性表,一般表示为L=(a1,a2,…an);ai是线性表中的第i个,i是位序a1是表头元素,an是表尾元素...
2020-08-21 14:16:49
229
原创 DS 0818(第一章 绪论)
数据结构基本概念数据:数据项:构成数据元素的不可分割的最小单位数据元素:数据的基本单位,常作为整体进行考虑使用数据结构:相互之间存在特定关系的数据元素怒的集合数据对象:具有相同性质的数据元素的集合数据结构的三要素逻辑结构:集合,线性,树形,图数据的存储结构(物理结构):顺序,链式,索引,散列(哈希存储)数据的存储结构会影响存储空间的分配方便程度,运算速度数据的运算:包括运算的定义和实现。运算的定义是指针对逻辑结构的,指出运算的功能。运算的实现是针对储存结构的,指出运算的
2020-08-17 19:43:33
158
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人