- 博客(23)
- 收藏
- 关注
原创 线性表的插入和删除
顺序表:以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。问题:向一个递增的线性表插入一个元素x,使其仍然递增#include#define size 100typedef struct { int data[size]; int length;//用来存储表的长度,到时候直接用}sqlist;int Locate
2015-10-30 16:49:00 11579 1
原创 分析算法时间复杂度
算法时间复杂度:讲算法中基本操作的次数作为算法时间复杂度的度量void fun(int n){ int i=0;s=0; while(s<n) { ++i; s=s+i; }}求算法时间复杂度首先找出基本操作,有函数看出,++i,s=s+i属于基本操作,然后找出基本操作结束的那个点。如果假设循环执行m次结束,
2015-10-30 09:13:29 12326 2
原创 文件输入输出和string流
文件流:头文件fstream定义了三个类型:ifstream读取,ofstream写入,fstream读取和写入,其继承了iostream。当要读写文件时,把文件流对象与文件关联起来,每个文件流都定义了open成员函数,并对文件视情况打开为读或写的模式。ifstream in(file);//定义了一个输入流in,来读取fileostream out;//定义了一个输出流,但并未关联
2015-10-29 20:48:50 12364
原创 IO类
几种IO类型:iostream:从流(读或写)数据 , fstream:从文件(读或写)数据 ,sstream:从string中(读或写)数据,某个流类型前面有'w'表示宽字符的版本。IO类型之间的关系:设备类型和字符大小都不会影响执行的IO操作,这是由于继承机制的原因,fstream和sstream都继承iostream,其中cin和cout,fstream和sstream
2015-10-29 12:53:17 10475 1
原创 迭代器
看代码:#include#inlcudeint main(){ string s("haha"); auto it=s.begin(); while(it!=s.end()) { cout<<*it<<endl; it++; } /*for(auto it=s.begin();it
2015-10-28 08:44:02 10269 1
原创 C++标准类型库string
string:表示可以变长的字符序列初始化:用等号和圆括号,其中又分为直接初始化和拷贝初始化,利用等号就是拷贝初始化,圆括号就是直接初始化。#include #includeusing namespace::std;int main(){ string s1;//没有提供初始值,则默认初始化空串 string s2(s1);//相同类型直接填入 strin
2015-10-26 19:02:38 10446 1
原创 rewind和fseek
rewind:使文件位置标记指向文件开头我用我博文之前写的程序来说明一下:#includeint main(){ FILE *fp=fopen("a.txt","w+"); char str1[10]="haha"; char str2[10]; if(fputs(str1,fp)==0) { printf("yes");
2015-10-26 08:48:01 11730 1
原创 C++中的const
const对象一旦创建后其值不能改变,则必须初始化,const初始化可以是表达式,可以是值,对象,这是与引用初始化有些不同的地方。在不改变const内容的情况下,可以用const对象取初始化一个非const对象。可以把引用绑定到const对象上,这称为常亮引用,常亮引用不能修改其值,不能用一个常亮引用去初始化一个非常亮引用。#includeint main(){
2015-10-25 22:40:05 10392 3
原创 C++初始化和引用
C++几种初始化的方式:#includeint main(){ int a=0;//直接用等号初始化 int b={1};//用等号和花括号 int c{2};//直接用花括号 int d(3);//直接用括号 std::cout<<a<<b<<c<<d<<std::endl; return 0;}打印:0123引用:
2015-10-25 15:26:18 12835
原创 C++有符号和无符号之间的转换
先来看一个程序:#includeint main(){ unsigned a=5; int b=-10; std::cout<<b+b<<std::endl;//正常输出 std::cout<<a+b<<std::endl; return 0;}打印:-20 4294967291-20正常打印我们都知道,但当一个
2015-10-24 20:35:41 14323 1
原创 一个小程序看流的读取
今天我们开始学习C++的流读取。流:一个字符序列#includeint main(){ int sun=0,a=0; while(std::cin>>a)//检测流的输入是否有效 { sum+=a; } std::cout<<"sum is "<<sum<<std::endl; return 0;}输
2015-10-24 11:25:07 10451 1
原创 共用体和枚举,写写意思下
共用体:不同的变量共享一段内存一般形式:union 共用体名 { 成员表列 } 变量表列;要点:共用体声明,定义和引用类似结构体,但共用体所占的内存大小是最长成员所占的大小,但其只能放其中的一个变量,而且是最后被声明的#includeunion Data{ int i; float f;};int main(){ union Data D
2015-10-23 19:35:00 10314 1
原创 再探文件输入和输出函数
再谈fgets和fputs函数fgets:从文件中读入一个字符串存放到字符数组中,这里的读入就是读取fputs:把字符数组张的字符串写到对应文件中#includeint main(){ FILE *fopen("a.txt","w"); char str1[10]="haha"; char str2[10]; if(fputs(
2015-10-23 18:41:48 11144
原创 一个程序看fputc和fgetc
今天来处理一下,文件的输入和输出这一块的知识。在写这篇时,我对这块知识的理解花一点时间,用的比较少,一直没怎么关注,一直没怎么学。在文章的开始,我们先来学习一下gatchar函数。getchar:本意出入一个字符,只能输入一个字符,这点很重要。fputc:把字符写到对应的文件中,注意这里是字符。fgetc:向对应文件中读入一个字符,说白了,就是从文件中读取一个字符,你懂的。#i
2015-10-22 21:04:32 12266 1
原创 初识链表
链表是一种重要的数据结构,今天我们来简单学习一下。链表:由一系列节点组成,每个节点由一个数据域和一个指针域组成。超简单的一个静态链表:#includestruct people{ int age; struct people *next;}int main(){ struct people a,b,c,*head,*p;//定义结构体变量
2015-10-20 22:04:38 10907
原创 学结构体了
指针学完了,来学学结构体吧,走进了一个新的世界。结构体:不同的数据类型组成的一个结构一般形式:struct 结构体名 {成员表列};声明:类型名 成员名定义的方法:1.先声明结构体类型,再定义该类型的变量struct student{ int age; char name[20];};//不要忘了末尾的';'
2015-10-20 19:06:06 10948
原创 指针基础再续
上次谈到指针相关基础,但遇到了一些问题没有说完,这次再来补充一下,嘿嘿!通过指针引用字符串: 传入字符数组时:#includeint print1(char c1[]){ int i=0; while(c1[i]!='\0') { printf("%c",c1[i]); i++; }
2015-10-19 20:59:13 10779 1
原创 linux常用命令,知识在于总结
pwd 显示当前文件或目录的路径,虽说命令行前面有路径,但有时还会用到cd 进入目录 cd / 进入根目录 cd ~ 进入主目录 cd .. 返回上一级目录ls 列出当前目录下的所有文件(不包括隐藏文件) ls -F 产生区分目录,可执行和链接文件的标志。目录后加上/,可执行文件加上*,链接文件上@ ls -a 显示所有文件和目
2015-10-19 08:53:18 10859 1
原创 指针相关基础
指针向来都是难点,今天我们一起来了解一下。指针,一个用来保存地址的对象,一般形式为:类型名 *指针变量名,要说明的是指针变量只能存放地址。定义指针指针变量时还要注意指针的类型,指针的类型决定了指针能指向的数据类型。int a=10; int *p=&a;printf("%d",*p);//输出地址指向的值printf("%d",p);//这里输出的是地址指针变量作为函数的参数
2015-10-18 20:38:40 10764 2
原创 C中常用字符串处理函数
1.puts函数 功能:输出字符串,里面传入数组名,也可以直接传入字符串(用双引号包围起来)。 char str[5]="haha"; puts(str); puts("haha");2.gets函数 功能:输入字符串,里面同样传入字符数组名,不能传入一个未定义的数组名 char str[5]; gets(str);3.strcat函数 功能:
2015-10-18 10:15:52 10944 2
原创 迟来的二维数组基础
二维数组:数组的数组,即数组中又包含了一个数组。一般形式:类型名[常量表达式][常量表达式]引用:数组名[下标][下标]二维数组的初始化:1.把数组中每个元素中代表的又一个数组用花括号包围起来,其中每个元素用逗号隔开。每个花括号用逗号隔开。外面再用一个花括号包围起来。int a[2][3]={{1,2,3},{4,5,6}};2.也可以将所有初始化数据只用一个花括号
2015-10-18 08:49:52 11029 1
原创 闲谈一维数组基础
数组:相同类型数据的集合一维数组:由数字组成的排列单一的数组一般形式:类型符 数组名 [常量表达式]引用:数组名[下标] 一维数组的初始化:1.用花括号把数组值包围起来,数组值之间用逗号隔开。 int a[5]={1,2,3,4,5}; 2.赋值的个数小于数组的长度,则剩余的元素系统自动赋值为0。 int a[5]={1,2};则a[2],a[3
2015-10-17 22:52:11 10405 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人