Code Monkey home page Code Monkey logo

accomplish-linklist-with-pyqt5's Introduction

Accomplish-LinkList-with-PyQt5

Write a program in VC++/Python for a linked list which stores basic information (a picture,name, DOB etc.) of your friends. 采用VC++/Python语言实现一个动态链表,用于保存多个好友的信息(照片、姓名、出生年月、兴趣等)。 用链表来实现一个学生信息管理系统,要求实现可视化界面。

任务分析 线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。由于不必须按顺序存储,链表的插入和删除操作可以达到O(1)的复杂度。 双向链表 双向链表(双链表)是链表的一种。和单链表一样,双链表也是由节点组成,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。双链表的示意图如下:

表头为空,表头的后继节点为"节点10"(数据为10的节点);"节点10"的后继节点是"节点20"(数据为10的节点),"节点20"的前继节点是"节点10";"节点20"的后继节点是"节点30","节点30"的前继节点是"节点20";...;末尾节点的后继节点是表头。 双向链表删除节点 双向链表删除节点的操作,比如说下面这个单链表中我们要删除"节点30"。 删除之前:"节点20"的后继节点为"节点30","节点30" 的前继节点为"节点20"。"节点30"的后继节点为"节点40","节点40" 的前继节点为"节点30"。 删除之后:"节点20"的后继节点为"节点40","节点40" 的前继节点为"节点20"。

双向链表删除节点的关键代码如下: //删除节点pindex pindex->next->prev = pindex->prev; pindex->prev->next = pindex->next; free(pindex); //注意释放节点

双向链表添加节点 双向链表添加节点的操作,比如说下面这个双向链表在"节点10"与"节点20"之间添加"节点15" 添加之前:"节点10"的后继节点为"节点20","节点20" 的前继节点为"节点10"。 添加之后:"节点10"的后继节点为"节点15","节点15" 的前继节点为"节点10"。"节点15"的后继节点为"节点20","节点20" 的前继节点为"节点15"。

双向链表添加节点的关键代码如下: //将pnode节点插入到pindex之前 pnode->prev = pindex->prev; pnode->next = pindex; pindex->prev->next = pnode; pindex->prev = pnode;

实验结果 初始化界面 1 写入数据和查找数据 2 从test.json读入文件 3

accomplish-linklist-with-pyqt5's People

Contributors

xaddwell avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.