#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,x;
scanf("%d %d",&n,&x);
char s[105];
int cn...
1. 两个有序链表的合并:设两个有序链表分别为L1和L2,先用两个指针分别遍历这两个链表,并且每次读取两个链表中元素的值,将较小的值插入到新的链表L中,如果其中一个链表遍历完毕,则另一个链表中剩下的元素就可以直接接在L的表尾。
2. 求链表中倒数第k个结点:①可以使用栈,将链表中全部元素...
1. 堆和栈的区别:①堆空间是动态分配的,一般存放对象;栈空间是由系统分配的,一般存放局部变量。②堆空间比较大,栈空间比较小。③堆需要手动释放内存,而栈不需要。
2. 左值和右值:左值指的是既能出现在等号左边又能出现在等号右边的变量,右值指的是只能出现在等号右边的变量,左值可以直接赋值但...
1. 计算机组成原理:依据计算机体系结构,设计计算机各部件的具体组成以及他们之间的连接关系,实现机器指令级的各种功能和特性。
2. 摩尔定律:当价格不变时,集成电路上可容纳的元器件数目,每隔18-24个月就会翻一番,性能也增加一倍。
3. 云计算:云计算是分布式计算的一种,指的是通...
1. 数据库:数据库是一个大规模的集成的数据集合。
2. 数据库管理系统:用来存储和管理数据库的系统软件。
3. 三级模式:外模式、模式和内模式,外模式描述了用户看到的视图,模式描述了数据的逻辑结构,内模式描述了数据的物理结构。
4. 两级映射:外模式和模式之间的映射可以保证...
1. 计算机网络:是多个独立的计算机通过通信线路和通信设备互联起来的系统,以实现彼此之间的数据交换和资源共享为目的。
2. 计算机网络的组成:计算机系统、数据通信系统、网络软件及协议三部分。
3. 计算机网络分为哪两个部分:通信子网和资源子网。
4. 分布式处理:当计算机网络...
栈 (LIFO,Last In First Out)
1.栈的定义
栈 (Stack) : 只允许在一端进行插入或删除操作的线性表。
栈顶 (Top) : 允许插入或删除的一端。
栈底 (Botoom) : 不允许进行插入和删除的一端。
...
1.循环单链表
循环单链表最后一个结点指向头指针所指向的结点(有头结点就指向头结点,无头结点就指向第一个结点)。
看图:
上图是带头结点的空表
 ...
单链表的操作
1.按序号查找
在单链表中取出第 i 个节点,并返回结点的指针。
LNode *GetElem(LinkList L,int i){
int j = 1;
LNode *p = L -> next;
if(i == 0) return L;...
概述
单链表是链式存储的线性表,单链表为线性表中的每一个数据单元开辟一块空间,每块空间在物理位置上并不连续,每块空间中都有一个指针域用来存储下一块空间的位置,这样每一块空间在逻辑上便有了联系(逻辑上线性相连,每一块空间里都有下一个空间的地址)。
如下图所示:
...
定义
顺序表使用一组地址连续的存储单元,依次存储线性表中的数据元素,使得逻辑上相邻的两个元素在物理位置上也相邻。
当做数组来思考与使用。
大致为这个样子:
线性表顺序存储描述为:
#define MaxSize 50
typedef struct{
...
定义
a1,a2,a3,a4,a5......aN
一共有N个数据,除第一个元素外每一个元素都有且仅有一个前驱,除最后一个元素外每一个元素都有且仅有一个后继,就是逻辑上有顺序的N个元素。
要点
线性表是一个抽象数据类型(ADT),仅仅表示数据元素逻辑上的关系(逻辑上具有顺序...