LOFTER for ipad —— 让兴趣,更有趣

点击下载 关闭
【复习篇】C++基础知识复习(二)
2585283 2019-07-23

教师主讲:李文

移植总结:limohan


数组

1.仅采用循环
发挥了计算机的计算优势,
但没有发挥计算机的存储优势
例题2  逆序输出
输入3个整数,逆序输出到1行种
样例输入:
33 26 77
样例输出:
77 26 33
思考:如果有100个整数呢?
2.数组
作用
将一组具有相同属性的数据集成到一起
定义
类型名 数组名[数组元素个数];
3.下标变量(数组元素)的关键与难点
2个可变量
下标变量的下标
下标变量的数值
4.注意
NOI中常常难以准确地计算出所需数组的大小
数组一般会声明的稍大一些,在空间够用的前提下,浪费点不会有很大影响
比较大的数组应尽量声明在main()函数外,否则程序可能无法运行
为使数组尽可能大,应尽量使用占用内存较小的基类型
5.使用技巧
memset(a,0,sizeof(a));  //数组初始化
memcpy(b,a,sizeof(b));  //数组整体赋值
需要头文件:<cstring>

结构体

用户自定义的数据类型
是一个可以包含不同数据类型的结构
定义方法
struct <类型名>
{
    类型名1 变量名1;
    类型名2 变量名2;
    ……
};
结构体型变量的访问
使用 “.” 操作符
应用举例
struct student
{
    char name[8];
    int math;
} st1;
st1.name=”张三”;
cin >>st1.math;
cout <<st1.name;

指针——动态数据类型

计算机内存单元
内存单元的地址
内存单元的内容
指针变量
在其中存储内存的地址
定义方法
类型名* 指针变量名;
运算符
取地址:&
取内容:*
例如
int *p1;
int a;
a=10;
p1=&a;  //将整型变量a的内存单元地址赋给指针变量p1
cout <<a;  //输出整型变量a的值,结果为10
cout <<p1;  //输出指针变量p1的值,结果为整型变量a
              的地址
cout <<*p1;  //输出指针变量p1所指内存单元的内容,
               结果为整型变量a的值,结果为10

链表

单链表(以单个整数为例)

struct node
{
    int data;
    node *next;
};
node *head;
Node *p;
p=new node;
p->data=10;
p->next=NULL;
循环链表
单链表中最后一个元素的next指向链表的第一元素
双向链表(以单个整数为例)

struct node
{
    int data;
    node *pre,*next;
};
node *head;
Node *p;
p=new node;
p->data=10;
P->pre=NULL ; p->next=NULL;
双向循环链表
双向链表中最后一个元素的next指向链表的第一元素
双向链表中第一个元素的pre指向链表的最后一元素


推荐文章
评论(0)
联系我们|招贤纳士|移动客户端|风格模板|官方博客|侵权投诉 Reporting Infringements|未成年人有害信息举报 0571-89852053|涉企举报专区
网易公司版权所有 ©1997-2024  浙公网安备 33010802010186号 浙ICP备16011220号-11 增值电信业务经营许可证:浙B2-20160599
网络文化经营许可证: 浙网文[2022]1208-054号 自营经营者信息 工业和信息化部备案管理系统网站 12318全国文化市场举报网站
网信算备330108093980202220015号 网信算备330108093980204230011号
分享到
转载我的主页