陈海明 副教授 信息学院 计算机系 http://www.chenhaiming.cn 电子信息类非计算机专业选修课 程序设计实践 陈海明 副教授 信息学院 计算机系 http://www.chenhaiming.cn.

Slides:



Advertisements
Similar presentations
数据结构的引入. 通讯录管理 社团机构管理 校园导航管理 通讯录管理 社团机构管理 校园导航管理.
Advertisements

电子成绩单项目实现.
第九章 字串 (String).
補充: Input from a text file
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
计算机基础知识 丁家营镇九年制学校 徐中先.
第三章 栈和队列 Stack and Queue
数据结构 第2章 线性表 吴忠华.
第九章 结构体 主讲教师 :贾月乐 电话:
程序设计II 第三讲 字符串处理.
教 师:曾晓东 电 话: E_mail: 计算机软件技术基础 教 师:曾晓东 电 话: E_mail:
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
Introduction to the C Programming Language
2 C++ 的基本語法和使用環境 親自撰寫和執行程式是學好程式語言的不二法門。本章藉由兩個簡單的程式,介紹C++ 程式的基本結構和開發環境,讓初學者能逐漸建立使用C++ 的信心。
程序设计基础.
第2章 线性表 丽水学院工学院.
线性表是一种最简单的线性结构 线性结构的基本特征为: 线性结构 是 一个数据元素的有序(次序)集 1.集合中必存在唯一的一个“第一元素”;
第 3 讲 线性表(一).
陈海明 副教授 信息学院 计算机系 电子信息类非计算机专业选修课 程序设计实践 陈海明 副教授 信息学院 计算机系
字符串和字符数组 字符串的输入和输出 字符串的基本操作
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
本节内容 模拟线程切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
明解C++教學手冊 柴田望洋 博士 著 書號:PG20269
第五章 习题课 电子信息与计算机科学系 曾庆尚.
顺序表的插入.
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
第五章 数组 5.1 数组的定义 5.2 数组的表示和实现* 5.3 数组的压缩.
严蔚敏、吴伟民编著 清华大学出版社 学习网站:中国网页设计
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
C语言程序设计 主讲教师:陆幼利.
1 School of Computing and Information Engineering.
顺序表的删除.
Java變數 2014/6/24.
( data structures, Algorithms and Applications in C++)
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
OpenGL几何变换程序.
VB与Access数据库的连接.
函式庫補充資料.
C语言的特点 1. C程序由许多函数组成 2. C程序必须有且只有一个主函数main( ) 3. 函数用“{”和“}”表示起点和终点
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
单链表的基本概念.
顺序查找.
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
第 四 讲 线性表(二).
第4章 Excel电子表格制作软件 4.4 函数(一).
C qsort.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第三章 数据组织与处理.
3.16 枚举算法及其程序实现 ——数组的作用.
第二章 类型、对象、运算符和表达式.
本章的基本内容是: ⑴栈和队列的定义及操作特性; 第3章 特殊线性表—栈、队列和串 ⑵栈和队列的两种存储方法和基本运算的实现;
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
第一章 绪论 1.1 引言 1.2 逻辑结构和存储结构 1.3 算法.
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
本章主題 C++的程式結構 資料型態與宣告 算術運算 簡易的輸入輸出指令 程式編譯(Compile)的過程與原理.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
基本知识 数据类型、变量、常量、运算符.
西安交通大学计教中心 ctec.xjtu.edu.cn
算法3.3 void InitList_sq(SqList &L,int msize=LIST_INIT_SIZE)
C 程式設計— 字元與字串 台大資訊工程學系 資訊系統訓練班.
字串 第10章 part I 8/30/2019.
第二部分 数据结构—— 用面向对象方法与C++描述.
高等学校计算机专业教材 数据结构 袁平波
入侵检测技术 大连理工大学软件学院 毕玲.
台大資訊工程學系 資料系統訓練班 第119期 吳晉賢
第二章 线性表 东南大学计算机学院 方效林 本课件借鉴了清华大学殷人昆老师 和哈尔滨工业大学张岩老师的课件.
Presentation transcript:

陈海明 副教授 信息学院 计算机系 http://www.chenhaiming.cn 电子信息类非计算机专业选修课 程序设计实践 陈海明 副教授 信息学院 计算机系 http://www.chenhaiming.cn

数据类型 整型(short,int,long,unsigned) 数值类型 单精度型(float) 实型 双精度型(double) 基本类型 字符型(char) 枚举类型(enum) 数组类型([ ]) 数据类型 构造类型 结构体类型(struct) 共用体类型(union) 指针类型() 空类型(void)

数据结构 计算机内部数据的组织形式和存储方法 逻辑结构:数据元素的逻辑关系 物理结构:在计算机中的存储方法 1001 Ningbo Zhejiang China …… 1004 Hangzhou 1001 Ningbo Zhejiang China 1002 Hangzhou 1004 Nanjing Jiangsu 1005 Chicago IL USA

数据结构 线性表 顺序表 链表 线性结构 栈 队列 树结构 图结构 操作系统->进程管理 服务器->进程线程管理 线性表 顺序表 链表 栈 队列 线性结构 操作系统->进程管理 服务器->进程线程管理 人工智能->博弈树 数据挖掘->决策树 多媒体技术->哈夫曼树 树结构 图结构 人工智能->神经网络,贝叶斯网络

线性表的特点 1、同一性 2、有穷性 3、有序性 数组、字符串、矩阵、堆栈、队列、… 满足线性条件 同类数据元素 有限个数据元素 相邻元素存在序偶关系<ai,ai+1> 数组、字符串、矩阵、堆栈、队列、… 满足线性条件

以一维数组为基础建立,数组元素可以是任何类型 线性表的顺序存储(顺序表) 以一维数组为基础建立,数组元素可以是任何类型 创建:申请固定或指定长度的存储空间 输入:依次输入每个元素的内容 长度:顺序表中元素的个数 查找:按序号/内容查找 插入:位置向后移动 删除:位置向前移 输出:依次输出每个元素的内容 销毁:释放存储空间 include <string.h> char * strcpy ( char * dest, const char * src ); size_t strlen ( const char * str ); const char * strchr ( char * str, int character ); char * strstr ( char * str1, const char * str2 );

线性表的抽象数据类型定义 ADT LinearList{ } 数据元素:D={ai|ai∈T,i=1,2,…,n,n≥0,T为某一数据类型} 结构关系:R={<ai,ai+1>|ai,ai+1 ∈T, i=1,2,…,n-1} 基本操作: ①InitList(L):操作前提:L为未初始化线性表。操作结果:将L初始化为空表。 ②ListLength(L):操作前提:线性表L已存在。操作结果:返回表中元素个数。 ③GetData(L,i):操作前提:表L存在,且i有效。操作结果:返回L中第i个元素的值。 ④InsList(L,i,e):操作前提:表L存在,e合法,i有效。操作结果:在L中第i个位置前插入新元素e,L长度加1. ⑤DellList(L,i,e):操作前提:表L存在且非空。操作结果:删除L中第i个元素,并用e返回其值,L的长度减1. ⑥Locate(L,e):操作前提:表L已存在,e合法。操作结果:若L中存在e,则将当前指针指向元素e所在位置且返回TRUE,否则返回FALSE. }

实例2.1 1168 查找学生信息 Description Input Output Sample Input Sample Output 1168 查找学生信息 Description 将n个学生信息录入到数组中,包括学生的学号和期末考试总成绩,查找某学号学生的相应信息。 Input 第一行输入n(n<100),表示有n个学生; 后面n行输入这n个学生的信息,内容分别为学号和分数,接下来一行输入所要查询的学生学号。 Output 输出该学号学生的成绩,如无匹配学号,则输出“No found!”。(输出不包含引号) Sample Input 4 084110 100 084111 98 084112 97 084113 99 084111 Sample Output 98

线性表的顺序存储(顺序表) 优点: 缺点: 1、不需要额外空间来表示结点的逻辑关系 2、随机存储方便 1、插入/删除效率低 2、需事先确定存储规模

改进的顺序表

实例2.2 用改进的顺序表完成实例2.1

作业 1201 1347