自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZXC

我所写的都是我所创造并验证的;

  • 博客(42)
  • 收藏
  • 关注

原创 【Python学习记录】字典

(1)定义:stu ={ "name": "zxc", "school": "hqu"}(2)访问:print(stu["name"])print(stu["school"])结果:zxchqu(3)添加键-值stu ={ "name": "zxc", "school": "hqu"}stu["age"] = 19(4)修改键-值stu ={ "name": "zxc", "school": "hqu

2020-07-23 12:49:53 651

原创 【Python学习记录】for循环、数字列表

一、for循环(1)for循环遍历整个列表zxc = ("a", "b", "c", "d", "e")for data in zxc: print(data)data存储每次循环中获得的变量运行结果abcde(2)for遍历切片zxc = ["zxc", "lzh", "yyb", "cwq"]for data in zxc[1:3]: print(data)运行结果lzhyyb二、数字列表的操作(1)函数 range功

2020-07-21 12:16:13 898

原创 【Python学习记录】列表修改、添加、删除、排序

一、列表定义school = ["TKK", "HQU", "FZU"]二、列表修改school = ["TKK", "HQU", "FZU"]print(school)school[2] = "XMU"print(school)运行结果['TKK', 'HQU', 'FZU']['TKK', 'HQU', 'XMU']三、列表添加3.1 总结 (1)插在末尾:append() (2)插在指定位置:insert(位置,数据)3.2 append功..

2020-07-17 14:09:21 363

原创 【Python学习记录】字符串

一、字符串变量ZXC=“HuaQiao University”二、合并(拼接)字符串原则:字符串(字符串变量)+字符串(字符串变量)+...(2.1)用变量输出字符串School="HuaQiao University"Name="ZXC"information=School+' '+Nameprint(information)结果为HuaQiao University ZXC(2.2)直接输出拼接后的字符串School="HuaQiao Universi

2020-07-16 21:39:42 119

原创 jupyter notebook 登录密码 登录空白

一、登录密码(1)在anaconda prompt 上输入 jupyter notebook list这段红色的就是密码二、登录空白jupyter需要在Chrome浏览器上才会显示,我的普通ie是空白。只需要将chrome设置为默认浏览器即可。...

2020-07-12 12:50:21 229

原创 【微机原理】中断

(一)8086如何响应一个可屏蔽中断请求?(1)8259A收到中断源请求时,中断请求寄存器IRR相应位置1。(2)优先级分析器PR用于比较该中断申请的优先级是否高于正在执行的中断服务。若高,则通过INT将中断请求信号发送至8086的INTR引脚上。(3)在8086CPU内,当IF=1,INTR=1,且指令执行完成,则则CPU向8259A发出两个INTA#中断响应信号。(4)8259...

2020-05-06 18:52:22 1343

原创 【微机原理】存储器的扩展

套路:(1)解决位拓展。 (1.1)计算位拓展中每组芯片内含多少片芯片。 具体方法为:每组芯片数量=拓展目标位数/单片芯片位数。 例如:将1K*4拓展成1K*8,则位拓展的每一组,需要8/4=2片芯片。 (1.2)多个存储芯片为一组,使用相同的地址表示这一组芯片。当选择这个地址进行读写时,这一组芯片内的所有芯片都进行读写。本题就进行位拓展,8/4...

2020-05-06 14:42:00 6600 1

原创 【微机原理】8086的最小模式

一、8086CPU在最小模式下的基本配置我们可以发现8086外接了两片芯片,分别是8282地址锁存器以及8286数据总线收发器。1、地址锁存器1.1、功能:8086的数据、地址、控制信息都是由同一组引线A19-A16,AD15-AD0通过分时复用的方式输出。在一个总线周期开始的T1时钟周期内,8086的20位引脚先输出地址信息,并通过8086的ALE发出地址锁存选通信号至地址锁存器...

2020-05-05 17:22:34 15585

原创 【微机原理】EU和BIU

1、8086CPU的内部结构:由指令执行部件EU和总线接口部件BIU组成。补充:微计算机的组成:(1)微处理器。(2)系统总线。(3)存储器。(4)IO接口电路。微计算机系统的组成:由微计算机、外部设备、软件构成的能独立处理信息的系统。2、总线接口部件(2.1)构成 通用寄存器:保存运算的中间结果、提供地址全部或部分的偏移量 标志寄存器:在计算机处理数据时,...

2020-05-05 00:28:32 16114 2

原创 【数据结构】用栈实现二叉树的前中后序遍历

一、前序遍历准备工作:将当前所指的二叉树节点入栈。循环条件:栈非空。循环内操作:出栈,输出该数据。并将出栈节点的孩子节点入栈,顺序为先右孩子,再左孩子,原因当然是因为前序遍历,接下来要处理的(要出栈的)应该是左孩子呀。void Travel_Pre_Stack(Tree parent){ if (parent != NULL) { Tree stack[MAXSIZE]...

2018-08-29 20:13:00 1489 1

原创 【堆栈】两个栈模拟队列

之前想的太复杂了,过分地考虑空间的利用率,使得逻辑非常复杂,简直要爆炸,看了标准答案后,妈的如此简单!!答案思路:准备两个栈A,B。A专门用于入队,B专门用于出队。当要入队时,如果A没有满,那么很正常地把元素压入A。如果A已经满了,如果B是空的,我们就把A的元素全部压入B,这样先入栈的元素跑到了B的顶端,而最后入A的到了B的栈底,刚好很适合出队。但是如果B非空,则入队失败。因为B用于出队的...

2018-08-09 21:18:38 235

原创 【堆栈】中缀转换为后缀

书上的规则很复杂,其实只要记住这个规则百试不爽:栈里面的符号,只有一个老大,不允许有人优先级跟他一样高比它更高,否则就疯狂输出栈,直到它是栈里面优先级最高的。如果是'(',就直接进入,如果是')'就疯狂输出,直到输出到了'('。所以根据以上的规律,如果符号只有加减乘除和中括号,那么如果只要是数字就输出。如果是符号,+-除非碰到)或者栈空,否则就疯狂输出栈,然后进栈。如果符号是*/,那么顶端如果...

2018-08-09 19:29:37 232

原创 【双向链表】天勤习题集提高线性表部分第7题

设计实现locate运算函数。设有一个带头节点的双向链表L,每个节点有4个数据成员:prior,next,data,freq。每进行一次locate操作,preq加1,并将该节点前移,保持频率是递减关系的。bool locate(LinkList List, int x){ LinkList Head = List; //找元素 LinkList p_target = findDat...

2018-08-05 12:10:58 768

原创 【线性表】递归求平均值、最大值、节点个数

链表不带表头。int FindMax(LinkList List){ if (List == NULL) { return 404; } if (List->next!= NULL) { return List->data > FindMax(List->next) ? List->data : FindMax(List->next)...

2018-08-04 23:14:58 1764

原创 【线性表】把数组所有非零数移到前端

思路:设置两个变量,head和tail,分别指向数组的头和尾。只要head小于tail,就不断循环。循环内,head如果发现数字是非0数,就前进一格,如果是非0数,则标志A位置为true,并不移动,等待tail找到非0数字。taill如果发现数字是0,则移动,否则标志位B置为ture,不移动,等待head找到0。当标志位同时为true时,则把tail的数字赋值给head,并把tail的数字置为0,...

2018-08-04 22:04:20 821

原创 【数据结构】顺序表数据反转

问题描述:一个满的数组长度(M+N)个元素,前M个表示一个数字,后N个表示另一个数字。写算法,使其倒置。如:111111222222---->222222111111思路:一个很高效的反复,做3次翻转,对M进行一次翻转,对N一个翻转,再对总体进行一次翻转。例如:123456----.>>>321654---->>>>456123...

2018-08-03 23:39:12 2386

原创 【数据结构】顺序表合并(删除重复数据)

非递减顺序表A,B。编写一个算法,使将A和B中所有元素组成一个新的从小到大的有序顺序表C的算法,要求重复的元素只保留一个。思路:1.如果A的数据小于等于B的数据,则将A存入,否则存入B。保证存入的数据总是小于等于还未存入的数据。(保证有序,这里并未处理重复的问题)2.在存入之前,要先判断顺序表C中最后一个数据是不是与存入的相等。如果相等,不存入。(保证不重复)void merge...

2018-08-03 00:38:35 2730

原创 【数据结构】顺序表增序归并

问题描述:实现两个有序(非递减有序)顺序表A,B合并成一个顺序表,合并结果放在A中。仍然保持递增的顺序。思路:从后往前,依次确定顺序表A中的数组第lengthA+lengthB-1位到第0位的数据,当前待定位数据的地址用变量i存储。每次都比较A和B的值,将比较大的值存入数组中。同时设置两个标量A,B,分别记录正在进行比较的对应数组的下标。这样的思路可以使得效率很高。不用担心A表未定位的数据会被...

2018-08-01 20:53:26 368

原创 【数据结构】单链表循环左移K位

例如链表数据有:1 2 3 4 5 6 7 8 910左移2位 结果为 3 4 5 6 7 8 9 10 1 2需要处理边界情况 :左移11位 显示错误 ,左移0位 显示错误 ,左移10位 显示错误。void leftshift(LinkList List, int num){ int cnt = 0;//表示当前的位置 LinkList now = List;//用于遍历链表...

2018-07-27 20:27:52 3350 1

原创 【数据结构】单链表查找倒数第K个元素

//设置两个指针,一个指针先出发,当两个指针的距离差为num后,开始同时移动。//这样相当于小学的追击问题。void findData_reciprocal(LinkList List, int num){ LinkList Head = List; LinkList Tail = List; int cnt = 0; while (Head) { cnt++; if ...

2018-07-27 19:29:59 1428 1

原创 【数据结构】逆序输出单链表数据

思路:递归。形式为(输出该数据之后的链表值)+输出这个数据。值得一提的是,如果带有头节点的单链表,需要前行前行一位,使链表指向开始节点。代码如下:void printDeverse_main(LinkList List){ List = List->next;//起始为开始节点 printDeverse(List);}我的递归代码:void printDevers...

2018-07-26 20:31:31 9236 1

原创 【数据结构】天勤线性表思考题2.1

有N个个位正整数存放在int整型数组A中,N定义为已经定义的常亮N<=9,数组长度为N,另给一个int型变量i,要求只用上述变量,写一个算法,找出N个整数中的最小者,并且要求不能破坏数组数据。思路:i作为变量,这个变量的百位用于储存最小值地址,十位用来储存最小值,个位用于当前指向的地址。#define length 9void findMin(int data[]){ in...

2018-07-26 19:34:24 594

原创 【数据结构】单链表划分奇偶

问题描述:将一个链表(带头指针)划分为两个链表,一个链表为原来data区域为奇数的,一个为偶数的。思路:在原链表进行操作,依次扫描判断,如果为偶数,就把它移动到另一个链表。注意的点:当判断为偶数时,移动后,List=List->next,这个操作,在表尾是偶数的情况下,会直接使List变成NULL,和循环条件在一起就会爆炸,因为系统不允许NULL->next这个操作。所以要注意...

2018-07-26 19:00:02 4295

原创 【数据结构】单链表逆置

step1:把头节点和开始节点断开,分成一个带头结点的空链表和一个无头节点的以开始节点为表头的数据链表step2:依次对数据链表的每个节点头插进入头节点void reverse(LinkList List){ //断开成两个链表 LinkList dataLink = List->next;//数据链表 List->next = NULL;//带头结点的空链表 w...

2018-07-25 21:21:14 2039

原创 【数据结构】删除单链表(带头结点)的最小值

思路:先遍历一遍链表,确定最小值的前驱节点,然后进行删除操作。void deleteMin(LinkList List){ LinkList L = List;//头节点 LinkList Min = L;//用于存放最小节点的前一个节点 while (List->next != NULL) { if (List->next->data < Min-&g...

2018-07-25 20:27:59 4767 1

原创 【数据结构】递增链表删除重复的节点

思路1:如果碰到相同的就删除void deleteDuplicate(LinkList List){ List = List->next;//前进到第一位数据 if (List == NULL)//如果不为空 { cout << "false" << endl; return; } while (List->next) { if ...

2018-07-25 19:50:40 409

原创 【数据结构】天勤线性表问题

问题描述:设计一个算法,从一给定的顺序表L中删除下标i<j(j<=j,包括i,j)的所有元素。void deleteAtoB(LinkList *List, int i, int j){ if (i<0 || j>(List->length) - 1 || j < i) { cout << "location illegal!" &l...

2018-07-20 16:49:36 453

原创 【数据结构】线性表逆置

void reverse(int a[], int length){ int head = 0; int tail = length - 1; while (head<tail) { swap(a, head, tail); head++; tail--; }}void swap(int a[], int i, int j){ int temp = a[...

2018-07-20 16:26:26 933

原创 【数据结构】递增单链表取交集和差集

交集:void merge_union(LinkList A, LinkList B){ LinkList tempA = A; A = A->next;//指向开始节点 B = B->next;//指向开始节点 while (A&&B)//A为空,说明B链表还有存在数据未插入A。B为空,说明数据已经插入完成了。 { if (B->data...

2018-07-18 23:56:39 579

原创 【数据结构】天勤线性表35页真题仿造1

设顺序表用数组A[]表示,表中元素存储在数组下标0~m+n-1的范围内,前m个元素递增有序,后n个元素也递增有序,设计一个算法,使得整个顺序表完整。​//将链表分为两个表,一个表为已经排序的,一个表为待插入的void sortLink(int a[], int number1,int number2){ int length = number1 + number2; int cur...

2018-07-17 23:30:07 401 1

原创 【数据结构】删除链表中所有指定元素的节点

void FindAndDelete(LinkList List, int data){ LinkList before = List; LinkList temp; List = List->next; while (List != NULL) { if (List->data == data) { temp = List;//待删除元素 befo...

2018-07-17 00:05:24 1321

原创 【数据结构】链表头插法、尾插发、递增链表合并为递减链表

void createList_Rear(LinkList *List, int a[], int length){ LinkList myList = (LinkList)malloc(sizeof(Node)); myList->next = NULL; myList->data = -1; *List = myList; LinkList now = myList;...

2018-07-16 23:12:14 300

原创 【数据结构】递增链表合并

LinkList merge_increase(LinkList ListA, LinkList ListB){ LinkList ListC = (LinkList)malloc(sizeof(Node)); ListC->data = -1; ListC->next = NULL; LinkList tempC = ListC; ListA = ListA->ne...

2018-07-13 22:57:52 403

原创 【数据结构】静态链表

#include <iostream>using namespace std;struct Node{ int data; int cur;};typedef Node* LinkList;#define MAXSIZE 20void init(LinkList List);int getLength(LinkList List);int malloc(Lin...

2018-07-12 22:48:30 106

原创 【数据结构】循环双向链表

#include<iostream>using namespace std;struct Node{ int data; Node *next; Node* prior;};typedef Node* LinkList;void init(LinkList* List);bool insert(LinkList *List, int location, int ...

2018-07-11 21:23:03 114

原创 【数据结构】双向非循环链表

#include <iostream>using namespace std;struct doubleNode{ int data; doubleNode *next; doubleNode *prior;};typedef doubleNode* LinkList;void init(LinkList *List);bool insert(LinkList...

2018-07-11 20:19:55 367

原创 【数据结构】带尾节点的循环链表

#include<iostream>using namespace std;struct Node{ int data; Node *next;};typedef Node* LinkList;void init(LinkList *L);bool insert(LinkList *L, int location, int data);void show(Li...

2018-07-10 22:47:09 2053

原创 【数据结构】循环链表和非循环单链表的区别

注意:这里的循环链表是以尾指针为起始。非循环单链表判断结束的标志为指针为空。而循环链表判断结束的标志是指针不是头节点。在插入操作中,非循环单链表判断循环结束是指针为空。若循环结束后,发现指针变为空,说明要求插入的位置不合理:位置大于Length+1。bool insert(LinkList *L, int target, int data){ if (target < 1) { ...

2018-07-10 22:46:26 4404

原创 【数据结构】二叉树的层序遍历

void traverse_ceng(Tree myTree){ TreeNodePtr a = myTree.head; if (a == NULL) { return; } queue myQueue; init_queue(&myQueue); enQueue(&myQueue, *a); cout << "层序遍历:"; while (...

2018-06-15 17:49:37 425

原创 【数据结构】二叉树的创建和遍历

struct biTreeNode{ char data; biTreeNode *lchild; biTreeNode *rchild;};typedef biTreeNode* biNodePtr;struct biTree{ biTreeNode *head;};结构定义,定义了树节点的结构体,以及树的结构体。void init_biTree(biTree *mytr...

2018-06-11 23:46:42 185

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除