当前位置:文档之家› 计算机基础知识:建立单链表——先进先出单链表

计算机基础知识:建立单链表——先进先出单链表

计算机基础知识:建立单链表——先进先出单链表
计算机基础知识:建立单链表——先进先出单链表

单链表的创建、插入和删除

单链表的创建、插入和删除 (数据结构) ——SVS #include #include #include typedef int ElemType; typedef int Status; typedef struct LNode { ElemType data; struct LNode *next; }LNode,*LinkList; void InitList_Link(LinkList L) //创建空链表 { L=(LinkList)malloc(sizeof(LNode)); L->next=NULL; } Status InsertList_Link(LinkList L,int i,ElemType e) //插入链表 { LinkList s,p=L; int j=0; while(p&&jnext;j++;} if(!p||j>i-1)return -1; s=(LinkList)malloc(sizeof(LNode)); s->data=e; s->next=p->next; p->next=s; return 1; }

Status DeleteList_Link(LinkList L,int i,ElemType e) //删除链表{ LinkList q,p=L;int j=0; while(p->next&&jnext;j++;} if(!(p->next)||j>i-1)return -1; q=p->next; e=q->data; p->next=q->next; free(q); return 1; } void OutPutList_Link(LinkList L) //输出链表 { printf("表中值为:"); LinkList p=L->next; while(p) { printf("%d ",p->data); p=p->next; } printf("\n"); } void CreateList_Link(LinkList L,int len) //创建链表 { int i; LinkList s,p=L; for(i=0;idata); s->next=NULL; p->next=s; p=s; } } int main() { int len; LinkList L; ElemType e; L=(LinkList)malloc(sizeof(LNode));

第二章 计算机系统基础知识及答案

第二章计算机系统基础知识 一、选择题 1.在计算机运行时,把程序和数据一样存放在内存中,这是1946年由________________所领导的研究小组正式提出并论证的。 A. 图灵 B.布尔 C.冯·诺依曼 D.爱因斯坦 2.计算机中运算器的主要功能是______________________。 A.控制计算机的运行 B.算术运算和逻辑运算 C.分析指令并执行 D.负责存取存储器中的数据 3.计算机的CPU每执行一个_____________,就完成一步基本运算或判断。 A. 语句 B.指令 C.程序 D.软件 4.计算机能按照人们的意图自动、高速地进行操作,是因为采用了______________________。 A. 程序存储在内存 B.高性能的CPU C.高级语言 D.机器语言 5.磁盘驱动器属于_____________设备。 A. 输入 B.输出 C.输入和输出 D.以上均不是 6.以下描述_____________不正确。 A.内存与外存的区别在于内存是临时性的,而外存是永久性的 B.内存与外存的区别在于外存是临时性的,而内存是永久性的 C.平时说的内存是指RAM D.从输入设备输入的数据直接存放在内存 7.计算机的主机指的是_____________。 A. 计算机的主机箱B.CPU和内存储器 C.运算器和控制器 D.运算器和输入/输出设备 8.下面关于ROM的说法中,不正确的是______________________。 A. CPU不能向ROM随机写入数据 B.ROM中的内容在断电后不会消失 C.ROM是只读存储器的英文缩写 D.ROM是只读的,所以它不是内存而是外存 9.微型计算机中的总线通常分为()三种。 A. 数据总线、地址总线和控制总线 B. 数据总线、信息总线和传输总线 C. 地址总线、运算总线和逻辑总线 D. 逻辑总线、传输总线和通信总线 10.计算机的软件系统可分为_____________。 A.程序和数据 B.程序、数据和文档 C.操作系统与语言处理程序 D.系统软件与应用软件 11.计算机应由5个基本部分组成,下面各项,_____________不属于这5个基本组成。 A. 运算器 B.控制器 C.总线 D.存储器、输入设备和输出设备。 12.外存与内存有许多不同之处,外存相对于内存来说,以下叙述_____________不正确。 A. 外存不怕停电,信息可长期保存 B.外存的容量比内存大得多,甚至可以说是海量的 C.外存速度慢,内存速度快 D.内存和外存都是由半导体器件构成 13._____________不属于计算机的外部存储器。

C语言链表的建立、插入和删除

数组作为存放同类数据的集合,给我们在程序设计时带来很多的方便,增加了灵活性。但数组也同样存在一些弊病。如数组的大小在定义时要事先规定,不能在程序中进行调整,这样一来,在程序设计中针对不同问题有时需要3 0个大小的数组,有时需要5 0个数组的大小,难于统一。我们只能够根据可能的最大需求来定义数组,常常会造成一定存储空间的浪费。我们希望构造动态的数组,随时可以调整数组的大小,以满足不同问题的需要。链表就是我们需要的动态数组。它是在程序的执行过程中根据需要有数据存储就向系统要求申请存储空间,决不构成对存储区的浪费。 链表是一种复杂的数据结构,其数据之间的相互关系使链表分成三种:单链表、循环链表、双向链表,下面将逐一介绍。 7.4.1 单链表 图7 - 3是单链表的结构。 单链表有一个头节点h e a d,指向链表在内存的首地址。链表中的每一个节点的数据类型为结构体类型,节点有两个成员:整型成员(实际需要保存的数据)和指向下一个结构体类型节点的指针即下一个节点的地址(事实上,此单链表是用于存放整型数据的动态数组)。链表按此结构对各节点的访问需从链表的头找起,后续节点的地址由当前节点给出。无论在表中访问那一个节点,都需要从链表的头开始,顺序向后查找。链表的尾节点由于无后续节点,其指针域为空,写作为N U L L。 图7 - 3还给出这样一层含义,链表中的各节点在内存的存储地址不是连续的,其各节点的地址是在需要时向系统申请分配的,系统根据内存的当前情况,既可以连续分配地址,也可以跳跃式分配地址。 看一下链表节点的数据结构定义: struct node { int num; struct node *p; } ; 在链表节点的定义中,除一个整型的成员外,成员p是指向与节点类型完全相同的指针。在链表节点的数据结构中,非常特殊的一点就是结构体内的指针域的数据类型使用了未定义成功的数据类型。这是在C中唯一规定可以先使用后定义的数据结构。 ?单链表的创建过程有以下几步: 1 ) 定义链表的数据结构。 2 ) 创建一个空表。 3 ) 利用m a l l o c ( )函数向系统申请分配一个节点。 4 ) 将新节点的指针成员赋值为空。若是空表,将新节点连接到表头;若是非空表,将新 节点接到表尾。 5 ) 判断一下是否有后续节点要接入链表,若有转到3 ),否则结束。 ?单链表的输出过程有以下几步 1) 找到表头。

C语言链表专题复习

链表专题复习 数组作为存放同类数据的集合,给我们在程序设计时带来很多的方便,增加了灵活性。但数组也同样存在一些弊病。如数组的大小在定义时要事先规定,不能在程序中进行调整,这样一来,在程序设计中针对不同问题有时需要3 0个元素大小的数组,有时需要5 0个数组元素的大小,难于统一。我们只能够根据可能的最大需求来定义数组,常常会造成一定存储空间的浪费。 我们希望构造动态的数组,随时可以调整数组的大小,以满足不同问题的需要。链表就是我们需要的动态数组。它是在程序的执行过程中根据需要有数据存储就向系统要求申请存储空间,决不构成对存储区的浪费。 链表是一种复杂的数据结构,其数据之间的相互关系使链表分成三种:单链表、循环链表、双向链表,下面只介绍单向链表。 7.4.1 单链表 图7 - 3是单链表的结构。 单链表有一个头节点h e a d,指向链表在内存的首地址。链表中的每一个节点的数据类型为结构体类型,节点有两个成员:整型成员(实际需要保存的数据)和指向下一个结构体类型节点的指针即下一个节点的地址(事实上,此单链表是用于存放整型数据的动态数组)。链表按此结构对各节点的访问需从链表的头找起,后续节点的地址由当前节点给出。无论在表中访问那一个节点,都需要从链表的头开始,顺序向后查找。链表的尾节点由于无后续节点,其指针域为空,写作为N U L L。 图7 - 3还给出这样一层含义,链表中的各节点在内存的存储地址不是连续的,其各节点的地址是在需要时向系统申请分配的,系统根据内存的当前情况,既可以连续分配地址,也可以跳跃式分配地址。 看一下链表节点的数据结构定义: struct node { int num; struct node *p; } ; 在链表节点的定义中,除一个整型的成员外,成员p是指向与节点类型完全相同的指针。 在链表节点的数据结构中,非常特殊的一点就是结构体内的指针域的数据类型使用了未定义成功的数据类型。这是在C中唯一规定可以先使用后定义的数据结构。 ?单链表的创建过程有以下几步: 1 ) 定义链表的数据结构。 2 ) 创建一个空表。 3 ) 利用m a l l o c ( )函数向系统申请分配一个节点。

数据结构课程设计单链表操作汇总

《数据结构课程设计》报告 题目:单链表操作 专业:计算机科学与技术 班级: 单链表操作 针对带头结点的单循环链表,编写实现以下操作的算法函数。

实现要求: ⑴单链表建立函数create:先输入数据到一维数组A[M]中,然后根据一维 数组A[M]建立一个单循环链表,使链表中个元素的次序与A[M]中各元素的次序相同,要求该函数的时间复杂度为O(m); ⑵定位查找函数Locate:在所建立的单循环链表中查找并返回值为key的 第1个元素的结点指针;若找不到,则返回NULL; ⑶求出该链表中值最大和次大的元素值,要求该算法的时间复杂度为O(m), 最大和次大的元素值通过指针变量带回,函数不需要返回值; ⑷将链表中所有值比key(值key通过形参传入)小的结点作为值为key的结 点前驱,所有值比key大的结点作为值为key的结点后继,并尽量保持原有结点之间的顺序,要求该算法的时间复杂度为O(m); ⑸设计一个菜单,具有上述处理要求和退出系统功能。 ⒈本人完成的工作: 一、定义结构体:LNode 二、编写以下函数: (1)建立单循环链表 (2)建立定位查找函数 (3)求出链表中最大和次大值 (4)将链表中的值和输入的Key比较,小的作为key前驱结点,大的作为key 的后继结点 三、设计具有上述处理要求和退出系统菜单 ⒉所采用的数据结构:单链表 数据结构的定义: typedef struct Node //定义结点的结构体 { DataType data; //数据域 struct Node *next; //指针域

}LNode; //结点的类型 ⒊所设计的函数 (1)Create(void) LNode *Create(void) //建立单循环链表,链表头结点head作为返回值{ int i,j,n,A[M]; //建立数组A【M】 LNode *head,*p,*move; head=(LNode*)malloc(sizeof(LNode)); //创建空单循环链表head->next=head; move=head; printf("请输入数组元素的个数:"); //输入数组 scanf("%d",&n); printf("请输入数组:"); for(i=0;idata=A[j]; p->next=move->next; move->next=p; move=move->next; } return head; //返回头指针

链表建立

#include /*这个头文件在动态的建立结点时要用到*/ /* * 这就是表示单链表的一个结点的结构体了, * 简单起见没有使用模板之类的复杂东西。 */ struct Node { /*这个表示结点的值,这里为了简单,就用int型的吧*/ int data; /* * 这是指向结点结构体的一个指针, * 这里用它指向该结点的下一个结点, * 以此使单个的结点形成链表 */ struct Node* next; };/*至此链表的结点就定义完了*/ int main() { /*下面展示如何建立成为一个带头结点的单链表:L={12,13,21,24}*/ struct Node* head = NULL; /*这是链表的头结点*/ struct Node* p = NULL, *q = NULL; /*临时指针,建立链表时会用到*/ /*链表很短,我不用循环,直接建立,可以让你看的更清楚*/ /*建立头结点*/ head = (struct Node*)malloc(sizeof(struct Node)); /*指定结点的值*/ head->data = 12; /*指定下一个结点,现在还没有先给NULL*/ head->next = NULL; /*用q保存刚生成的结点*/ q = head; /*第二个结点,建立的方法和第一个一样*/ p = (struct Node*)malloc(sizeof(struct Node)); p->data = 13; p->next = NULL; /*注意,此时需要调整一下上一个结点的next指针,使各结点可以连接起来*/ q->next = p; q = p; /*第三个结点*/

计算机基础第二章Windows7练习及答案2教学文案

计算机基础第二章W i n d o w s7练习及答 案2

1. 下列是切换已打开的应用程序窗口的组合键是() A、ctrl+Tab B、AIt+tab C、Ait+space D、Ait+o 2. 碎片整理程序的作用是() A、节省磁盘空间和提高磁盘运行速度 B、将不连续的文件合并在一起 C、检查并修复磁盘汇总文件系统的逻辑错误 D、扫描磁盘是否有裂痕 3. “家长控制”的功能选项没有() A、限制游戏 B、限制程序 C、限制上网 D、时间限制 4. 系统控制区右下角的关机按钮不可以进行的操作是() A、关机

B、切换安全模式 C、锁定 D、注销 5. 某窗口的大小占了桌面的二分之一时,在此窗口标题栏最右边会出现的按钮有() A、最小化、还原、关闭 B、最小化、最大化、还原 C、最小化、最大化、关闭 D、最大化、还原、关闭 6. 下列不是文件查看方式的是() A、详细信息 B、平铺显示 C、层叠平铺 D、图标显示 7. 下列关于对文件(文件夹)复制的操作正确的是 () A、可以使用右键拖动对象至目标位置,然后在弹出的快捷菜单中选择“复制到当前位置” B、用左键拖动至目标位置。

C、可以执行“发送到/U盘”,将文件移动至U盘。 D、按住shift拖动至目标位置,可进行复制。 8. 永久删除文件或文件夹的方法是() A、直接拖进回收站。 B、按住Ait键拖进回收站 C、按shift+Delete组合键 D、右击对象,选择“删除” 9. 设置某些程序对字符、单词设置的操作在()中进行 A、文件夹选项 B、系统 C、区域和语言 D、程序和功能 10. 在防火墙设置中可以对()进行设置 A、小区网络 B、公用网络 C、城市网络 D、楼层网络 11. 运行磁盘碎片整理程序的正确路径是()。

单链表的基本操作

上机实验报告 学院:计算机与信息技术学院 专业:计算机科学与技术(师范)课程名称:数据结构 实验题目:单链表建立及操作 班级序号:师范1班 学号:201421012731 学生姓名:邓雪 指导教师:杨红颖 完成时间:2015年12月25号

一、实验目的: (1)动态地建立单链表; (2)掌握线性表的基本操作:求长度、插入、删除、查找在链式存储结构上的实现; (3)熟悉单链表的应用,明确单链表和顺序表的不同。 二、实验环境: Windows 8.1 Microsoft Visual c++ 6.0 三、实验内容及要求: 建立单链表,实现如下功能: 1、建立单链表并输出(头插法建立单链表); 2、求表长; 3、按位置查找 4、按值查找结点; 5、后插结点; 6、前插结点 7、删除结点; 四、概要设计: 1、通过循环,由键盘输入一串数据。创建并初始化一个单链表。 2、编写实现相关功能函数,完成子函数模块。 3、调用子函数,实现菜单调用功能,完成顺序表的相关操作。

五、代码: #include #include typedef char datatype; typedef struct node { datatype data; struct node *next; }linklist; linklist *head,*p; //头插法建立单链表 linklist *Creatlistf() { char ch; linklist *head,*s; head=NULL; ch=getchar(); printf("请输入顺序表元素(数据以$结束):\n"); while(ch!='$') { s=(linklist *)malloc(sizeof(linklist)); s->data=ch; s->next=head; head=s; ch=getchar(); } return head; } //求单链表的长度 void get_length(struct node *head) { struct node *p=head->next; int length=0;

计算机应用基础第二章Windows7操作系统试题

第二章Windows 7操作系统 以上全部 3. 在Windows 7中,打开一个菜单后,其中某 菜单项会出现与之对应的级联菜单的标识是( A. 菜单项右 侧有一组英文提示 B. C. 菜单项左 侧有一个黑色圆点 D. 4. 在Windows 7中,能弹出对话框的操作 是( A. 选择 了带三角形箭头的菜单项 B. C.选择了颜色变灰的菜单项 D. 5. 把Windows 7的窗口和对话框作一比 较, A. 既不能移动,也不能改变大小 B. C.仅可以改变大小,不能移动 D. B. 作为资源管理器管理的工作区 D.在使用Dos时,划给的临时区域 9. 在Windows 7中,剪贴板是程序和文件间用来传递 信息的临时存储区,此存储区是( A. 回收站的 一部分 B.硬盘的一部分 C.软盘的一部分 D.内存的 一部分 10. Windows 7中,若要选定当前文件夹中的全部文件 和文件夹对象,可使用的组合键是( D . Ctrl+D “剪贴板”中存放的是(第一次剪切的内容所要用的操作是( 转入后台运行 D. 继续前台运行 15. 在“资源管理器”窗口中,如果想一次选定多个连续的文件,正确的操作是(A. 单击第一个文件,按住Shift键,单击最后一个文件 B. 单击第一个文件,按住Ctrl键,单击最后一个文件 C. 按住Ctrl键,按住鼠标右键逐个选取 D. 按住Shift键,按住鼠标左键逐个选取 16. 在Windows 7的“资源管理器”中,已选定文件夹后,下列操作中不能删除该文件夹的操作是 ( A. 在键盘上按Delete键 B. 用鼠标左键双击该文件夹 C.在“文件”菜单中选择“删除”命令 D.右击该文件夹,在弹出的快捷菜单中选择“删除”命令 17. 在Windows7“资源管理器”中,进行文件复制可以先右击文件图标,在弹出的快捷菜单中选择“复制”命令,再右击目标文件夹或磁盘,在弹出的快捷菜单中选择()命令。 A. 粘贴 B. 移动C . 拷贝D. 全选 18. 下面“不合法”的文件名是( A.12345678 ? .TXT B.WIN_PROG.EXE C.FILE.DAT D.35768.TXT 19. 关于Windows7中窗口的说法,以下()是正确的。 A. 屏幕上只能出现一个窗口,这就是活动窗口 B. 屏幕上可以出现多个窗口,但只有一个是活动窗口 C. 屏幕上可以可以出现多个窗口,但不止一个是活动窗口 D. 屏幕上出现的全部是活动窗口 20. 在Windows7“资源管理器”的工作区中,已选定了若干个文件,若想取消其中几个选定文件,需要执行的操作是()° A. 按住Ctrl键,然后依次单击要取消的文件 B. 按住Shift键,然后依次单击要取消的文件 C. 按住Ctrl键,然后用鼠标右键依次单击要取消的文件 D. 按住Shift键,然后用鼠标右键依次单击要取消的文件 21. Windows 7操作系统是()° A.单用户单任务系统 B.单用户多任务系统 C.多用户单任务系统 D.多用户多任务系统 22. 当窗口不能将所有的信息行显示在一屏内时,窗口中一定会出现()° A.滚动条 B. 状态栏 C. 提示信息窗口 D. 警告信息窗口 23. 打开快捷菜单的操作为()° A.单击 B. 右击 C. 双击 D. 三击 24. 在Windows7操作系统中,能安全关闭计算机的操作是( A. 在文件未保存的情况下,单击“开始”按钮关闭”计算机 B. 在保存文件并关闭所有运行的程序后,单击“开始”按钮关闭”计算机 C. 直接按主机面板上的电源按钮 D. 直接拔掉电源关闭计算机 25. 将鼠标指针移至()上拖曳,既可移动窗口位置。 A.标题栏 B. 格式栏 C. 状态栏 D. 菜单栏 26. 以下输入法中属于键盘输入法的有()° A.光电输入法 B. 手写输入法 C. 语音识别输入法 D. 搜狗拼音输入法 27. 在Windows 7操作系统中,切换输入法的快捷键默认是()° A.Alt+E nter B.Ctrl+Alt C.Ctrl+Shift D.Alt+Shift 一、选择题 1. Windows7 系统中的“桌面”是指()° A.整个频幕 B. 某个窗口 C. 当前窗口 2. 下列属于计算机操作系统的是()° D. 全部窗口 菜单项右侧有一个黑色三角形 菜单项左侧有一个“V”符号 )° 运行了与对话框对应的应用程序 选择了带省略号的菜单项 窗口可以移动和改变大小,而对话框 (仅可以移动,不能改变大小既能 移动,也能改变大小 6. Windows 7操作系统中,显示3D桌面效果的快捷键是( A.Alt+Tab B.Wi n+shift C.Ctrl+Tab D.Wi n+Tab 7. 在Windows 7操作系统中,进行窗口切换的快捷键是( A.Alt+W B.Alt+Tab C.Alt+F 8. 剪贴板的作用是()° A.临时存放剪切或复制的信息 C.长期保存信息的存储区 D. Alt+N A . Ctrl+V B . Ctrl+A C . Ctrl+X 11. 在Windows中连续进行了多次剪切操作后, A.空白 B. 最后一次剪切的内容 C. 12. 用鼠标直接运行带有图标的Windows程序, A.双击 B.单击 C.拖动 D.选中 13. 更改Windows 7主题主要包括( A.更改桌面背景 B.更改窗口颜色 14. 如果某个程序窗口被最小化,则程序将 A.终止运行 B. 暂停运行 C. D. 所有剪切过的内容 )° C. 更改声音和屏幕保护程序 )° D. 以上都对

头插法建立单链表

#include #include typedefstruct node { int data; struct node *next; }lnode,*linklist; \*定义头结点的函数*\ linklistInitlist_l(); \*定义头插法的函数*\ linklistCreatelist_f(linklistl,int n); \*定义输出链表数据的函数*\ voidPrintlist(linklist); \*主函数*\ int main(void) { inti,s,n; linklist l; l=Initlist_l(); printf("Please input number of datas:\n"); scanf("%d",&n); Createlist_f(l,n); Printlist(l); return 0; } linklistInitlist_l() { linklist l; l=(linklist)malloc(sizeof(lnode)); l->next=0; return l; } linklistCreatelist_f(linklistl,int n) { int i; linklist p; for(i=0;idata); p->next=l->next; l->next=p; }

return l; } voidPrintlist(linklist l) { linklist p; p=l->next; while(p) { printf("%d\t",p->data); p=p->next; } printf("\n"); }

单链表基本操作实验

实验2 链表的操作 实验容: 1)基础题:编写链表基本操作函数,链表带有头结点 (1)CreatList_h()//用头插法建立链表 (2)CreateList_t()//用尾插法建立链表 (3)InsertList()向链表的指定位置插入元素 (4)DeleteList()删除链表中指定元素值 (5)FindList()查找链表中的元素 (6)OutputList()输出链表中元素 2)提高题: (1)将一个头节点指针为heada的单链表A分解成两个单链表A和B,其头结点指针分别为heada和headb,使得A表中含有原单链表A中序号为奇数的元素,B表中含有原链表A中序号为偶数的元素,且保持原来的相对顺序。 (2)将一个单链表就地逆置。 即原表(a1,a2,。。。。。。 an),逆置后新表(an,an-1,。。。。。。。a1) /* 程序功能 :单链表基本功能操作 编程者 :天啸 日期 :2016-04-14 版本号 :3.0 */ #include #include typedef struct List { int data; struct List *next; }List; void CreatList_h(List *L) //头插法 { int i = 0; int n = 0; int goal; List *p; printf("请输入数据的个数:\n"); scanf("%d",&n); L -> next = NULL; for(i=0;i

{ printf("请输入第%d个数:\n",i+1); scanf("%d",&goal); p = (struct List*)malloc(sizeof(struct List)); p -> data = goal; p -> next = L->next; //将L指向的地址赋值给p; L -> next = p; } } void CreateList_t(List *L) //尾插法 { int i; int n; int goal; List *p; List *q=L; printf("请输入数据的个数:\n"); scanf("%d",&n); for (i=0;i data = goal; q -> next = p; q = p; } q -> next = NULL; } void InsList(List *L,int i,int e) //插入 { List *s; List *p = L; int j = 0; while (p&&jnext; ++j; } s = (struct List*)malloc(sizeof(struct List)); s -> data = e; //插入L中

计算机基础第二章Windows7练习及答案2

1. 下列是切换已打开的应用程序窗口的组合键是() A、ctrl+Tab B、AIt+tab C、Ait+space D、Ait+o 2. 碎片整理程序的作用是() A、节省磁盘空间和提高磁盘运行速度 B、将不连续的文件合并在一起 C、检查并修复磁盘汇总文件系统的逻辑错误 D、扫描磁盘是否有裂痕 3. “家长控制”的功能选项没有() A、限制游戏 B、限制程序 C、限制上网 D、时间限制 4. 系统控制区右下角的关机按钮不可以进行的操作是() A、关机

B、切换安全模式 C、锁定 D、注销 5. 某窗口的大小占了桌面的二分之一时,在此窗口标题栏最右边会出现的按钮有() A、最小化、还原、关闭 B、最小化、最大化、还原 C、最小化、最大化、关闭 D、最大化、还原、关闭 6. 下列不是文件查看方式的是() A、详细信息 B、平铺显示 C、层叠平铺 D、图标显示 7. 下列关于对文件(文件夹)复制的操作正确的是()A、可以使用右键拖动对象至目标位置,然后在弹出的快捷菜单中选择“复制到当前位置” B、用左键拖动至目标位置。

C、可以执行“发送到/U盘”,将文件移动至U盘。 D、按住shift拖动至目标位置,可进行复制。 8. 永久删除文件或文件夹的方法是() A、直接拖进回收站。 B、按住Ait键拖进回收站 C、按shift+Delete组合键 D、右击对象,选择“删除” 9. 设置某些程序对字符、单词设置的操作在()中进行 A、文件夹选项 B、系统 C、区域和语言 D、程序和功能 10. 在防火墙设置中可以对()进行设置 A、小区网络 B、公用网络 C、城市网络 D、楼层网络

c数据结构单链表的建立与基本应用

#include"stdio.h" #include"stdlib.h" typedef struct node { int data; struct node *next; }Lnode,*Linklist; input(Lnode *p,int n)//实现用键盘顺序输入链表数据{ Lnode *s;int i,d; printf("请输入数据:"); for(i=1;i<=n;i++) { if(i==1) { scanf("%d",&d); p->data=d; continue; } if(n==1)break; scanf("%d",&d);

s=(Linklist)malloc(sizeof(Lnode)); s->data=d; p->next=s; s->next=NULL; p=s;//使当前指针指向链表尾部节点 } } output(Lnode *p,int n)//实现输出当前链表所有数据 { int i=1; printf("当前链表的值为:"); while(p->next!=NULL) { printf("%d ",p->data); p=p->next; i++; } if(i==n)//当是最后一个节点时,其next已经是空,所以最后一个节点数据无法用while循环写出,所以另用了一个计数器i printf("%d",p->data); }

insert(Lnode *p,int i,int e)//实现在第i个元素之后插入新元素{ int j=0;Lnode *s; while(p&&jnext;++j;}if(!p||j>i-1)return 0; s=(Linklist)malloc(sizeof(Lnode)); s->data=e;s->next=p->next;p->next=s; return 1; } delet(Lnode *p,int i)//实现删除链表中第i+1个元素 { int j=0;Lnode *q; while(p->next&&jnext;++j; } if(!(p->next)||j>i-1)return 0; q=p->next;p->next=q->next; free(q); return 1; } search(Lnode *p,int e,int n) {

医用计算机第二章Windows练习题

[题型]:单选题 1.在Windows中,可以对计算机硬件配置进行设置,也可以对显示属性进行修改的应用程序是__________________。 A.记事本 B.便签 C.资源管理器 D.控制面板 答案:D 2.在Windows资源管理器中选定了文件或文件夹后,若要将它们复制到同一驱动器下的其他文件夹下,正确的操作为__________________。 A.按下Ctrl键同时拖动鼠标 B.按下Shift键同时拖动鼠标 C.直接拖动鼠标 D.按下Alt键同时拖动鼠标 答案:A 3.在Windows 的中文输入方式下,在几种中文输入方式之间切换的快捷键是____________。 A. Ctrl + Alt B. Ctrl + Shift C. Shift + Space D. Ctrl + Space 答案:B 4.在Windows 中,当一个应用程序窗口被最小化后,该应用程序将__________________。 A.被终止执行 B.被转入后台执行 C.被暂停执行 D.继续在前台执行 答案:B 5.在Windows 环境下,要将整个屏幕画面全部复制到剪贴板中应该使用________键。 A. Print Screen B. Page Up C. Alt + F4 D. Ctrl + Space 答案:A 6.Windows系统是__________________。 A.单用户单任务系统 B.单用户多任务系统 C.多用户多任务系统 D.多用户单任务系统 答案:B 7.关于Windows 窗口,以下描述正确的是__________________。 A.屏幕上只能出现一个窗口,这就是活动窗口 B.屏幕上可以出现多个窗口,但只有一个是活动窗口

数据结构___头插法和尾插法建立链表(各分有无头结点)

实验一链表的建立及基本操作方法实现 一、【实验目的】 、理解和掌握单链表的类型定义方法和结点生成方法。 、掌握利用头插法和尾插法建立单链表和显示单链表元素的算法。 、掌握单链表的查找(按序号)算法。 、掌握单链表的插入、删除算法。 二、【实验内容】 、利用头插法和尾插法建立一个无头结点单链表,并从屏幕显示单链表元素列表。 、利用头插法和尾插法建立一个有头结点单链表,并从屏幕显示单链表元素列表。 、将测试数据结果用截图的方式粘贴在程序代码后面。 重点和难点: 尾插法和头插法建立单链表的区别。 建立带头结点和无头结点单链表的区别。 带头结点和无头结点单链表元素显示方法的区别 三、【算法思想】 ) 利用头插法和尾插法建立一个无头结点单链表 链表无头结点,则在创建链表时,初始化链表指针。 当用头插法插入元素时,首先要判断头指针是否为空,若为空,则直接将新结点赋给,新结点指向空,即>,若表中已经有元素了,则将新结点的指向首结点,然后将新结点赋给即(>)。当用尾插法插入元素时,首先设置一个尾指针以便随时指向最后一个结点,初始化和头指针一样即。插入元素时,首先判断链表是否为空,若为空,则直接将新结点赋给即,若不为空,将最后一个元素的指向新结点即>,然后跳出这个语句,将新结点指向空,并且将指向新结点即>。 ) 利用头插法和尾插法建立一个有头结点单链表 链表有头结点,则在创建链表时,初始化链表指针> 。与无头结点区别在于,判断链表为空是根据>是否为空。 用头插法插入元素时,要判断链表是否为空,若为空则将新结点指向空,作为表尾,若不为空,则直接插入,将新结点指向头结点的指向,再将头结点指向新结点即>>>。 用尾插法插入元素时,首先也要设置一个尾指针以便随时指向最后一个结点,初始化,与无头结点区别就只是插入第一个元素时有区别。插入元素时,不需要判断链表是否为空,直接进行插入,代码>>。 )带头结点和无头结点单链表元素显示方法的区别: 区别在于,显示时带头结点是从头结点开始即>,而无头结点链表是直接从开始即。 四、【源程序代码】 ) 利用头插法和尾插法建立一个无头结点单链表 <>

计算机基础知识-Word-文档

计算机应用基础 计算机基础 第一章计算机概述第二章 WINDOWS操作系统 第三章 WORD20 第四章 EXCLE2000 第五章 PowerPoint2000 第六章计算机网络基础 第七章网页第八章信息安全 第一章计算机概述 §1.1 计算机的诞生和发展§1.2 计算机的组成 - 硬件 §1.3计算机的数据处理方式§1.4 计算机软件§1.5 计算机安装与维护 1.1 计算机的诞生和发展 一、ABOUT COMPUTER … 二、计算机的发展 三、多媒体计算机 1.1 计算机的诞生和发展 ABOUT COMPUTER … ●计算机是一种按程序高速、自动处理信息的现代化电子设备 ●自1946年2月世界第一台计算机诞生至今已有50多年的历史。 ●随着计算机的诞生和发展,信息的交流和传播起了质的变化,产生了相对于人类传 统文化(哲学、自然科学、数学等)的第二文化—计算机文化。 ●计算机能干什么? §1.1 计算机的诞生和发展 ABOUT COMPUTER … 学习、办公、娱乐、设计、排版、金融、炒股、医疗、购物、通讯…… 信息社会的主要特征 1. 信息处理能力倍增 2. 信息网络成为社会活动中心 3. 信息的速传使人类互相间时空“缩短” 4. 信息产业称为重要的支柱产业 5. 科技人员成为重要的社会阶层,而对科技的投入相对增加 第一台计算机ENIAC 1946年2月,诞生在美国宾夕法尼亚大学。 ENIAC(Electronic Numerical Integrator And Calculator 电子数字积分计算机), 1900个电子管,重30t,占地约167m2 运算速度5000次/秒,只能存储20个字长为10位的十进制数,不能存储程序 第一台计算机不具备现代计算机的主要原理特征:存储程序和程序控制 §1.1 计算机的诞生和发展 计算机的发展 B 最早的有存储功能的计算机: 1946~1950 EDVAC 美国冯· 诺依曼 ★1947~1949 EDSAC 英国剑桥大学维尔克斯 (EDSAC是第一台存储程序式计算机) 1946年,冯·诺依曼首次提出了电子计算机中存储程序的概念(存储程序和程序控制),并提出了计算机的基本构造—存储器、计算器、控制器、输入设备和输出设备。 计算机的发展 C

单链表的建立及其基本操作的实现(完整程序)

#include "stdio.h"/*单链表方式的实现*/ #include "malloc.h" typedef char ElemType ; typedef struct LNode/*定义链表结点类型*/ { ElemType data ; struct LNode *next; }LNode,*LinkList;/*注意与前面定义方式的异同*/ /*建立链表,输入元素,头插法建立带头结点的单链表(逆序),输入0结束*/ LinkList CreateList_L(LinkList head) { ElemType temp; LinkList p; printf("请输入结点值(输入0结束)"); fflush(stdin); scanf("%c",&temp); while(temp!='0') { if(('A'<=temp&&temp<='Z')||('a'<=temp&&temp<='z')) { p=(LinkList)malloc(sizeof(LNode));/*生成新的结点*/ p->data=temp; p->next=head->next; head->next=p;/*在链表头部插入结点,即头插法*/ } printf("请输入结点值(输入0结束):"); fflush(stdin); scanf("%c",&temp); } return head; } /*顺序输出链表的内容*/ void ListPint_L(LinkList head) { LinkList p; int i=0; p=head->next; while(p!=NULL) { i++; printf("单链表第%d个元素是:",i);

单链表完整算法

// 包含头文件 #include #include #include // 为结点数据类型和结构体类型起别名 typedefint datatype; typedefstructLinkNode { datatype data; // 数据域 structLinkNode *next; // 指针域存放下一个结点的地址}LNode,*LinkList; LinkList L; // 单链表的头指针 // 1.用头插法创建单链表 LinkListCreateListHead(int n) { // 创建头结点 LNode *L = (LNode *)malloc(sizeof(LNode)); L->next = NULL; // 设置指针域为空

LinkList p; // p指向新结点 for(inti=n;i>0;i--) // 先插入最后一个结点,插入次序与逻辑次序相反 { // 生成新结点 p = (LNode *)malloc(sizeof(LNode)); // 从键盘输入新结点的值 printf("请输入要插入第%d结点的值:\n",i); scanf("%d", &p->data); p->next = L->next; // 让L原来的后继结点成为p的后继结点 L->next = p; // p成为L新的后继结点 } return L; // 返回单链表的头指针 } // 2.用尾插法创建单链表 LinkListCreateListTail(int n) {

// 生成头结点 L = (LNode *)malloc(sizeof(LNode)); L->next = NULL;// 设置指针域为空 // p指向新结点,q指向尾结点 LinkList p, q = L; // 依次在末尾插入n个结点 for(inti=1;i<=n;i++) { // 生成新结点p p = (LNode *)malloc(sizeof(LNode)); // 从键盘输入新结点的值 printf("请输入第%d个结点的值:\n", i); scanf("%d",&p->data); p ->next = NULL; // 新结点(也是尾结点)的指针域为空 // 把新结点链接到单链表的末尾 q->next = p;

相关主题
文本预览
相关文档 最新文档