C 链表 操作
2021-08-10 14:03:49 416KB C 链表
1
本人最近学习大数四则运算,用C语言实现后上传供大家参考 包含加减乘除四则运算
2021-07-18 17:02:16 26KB C语言 大数 四则运算 双向链表
本代码运用双向链表法实现任意大数的四则运算,效率高
2021-07-16 23:41:52 3KB 大数 四则运算
1
数据结构:双向链表的基本程序
2021-07-14 09:04:06 152KB 数据结构
1
/* * 基于双向链表实现双端队列结构 */ package dsa; public class Deque_DLNode implements Deque { protected DLNode header;//指向头节点(哨兵) protected DLNode trailer;//指向尾节点(哨兵) protected int size;//队列中元素的数目 //构造函数 public Deque_DLNode() { header = new DLNode(); trailer = new DLNode(); header.setNext(trailer); trailer.setPrev(header); size = 0; } //返回队列中元素数目 public int getSize() { return size; } //判断队列是否为空 public boolean isEmpty() { return (0 == size) ? true : false; } //取首元素(但不删除) public Object first() throws ExceptionQueueEmpty { if (isEmpty()) throw new ExceptionQueueEmpty("意外:双端队列为空"); return header.getNext().getElem(); } //取末元素(但不删除) public Object last() throws ExceptionQueueEmpty { if (isEmpty()) throw new ExceptionQueueEmpty("意外:双端队列为空"); return trailer.getPrev().getElem(); } //在队列前端插入新节点 public void insertFirst(Object obj) { DLNode second = header.getNext(); DLNode first = new DLNode(obj, header, second); second.setPrev(first); header.setNext(first); size++; } //在队列后端插入新节点 public void insertLast(Object obj) { DLNode second = trailer.getPrev(); DLNode first = new DLNode(obj, second, trailer); second.setNext(first); trailer.setPrev(first); size++; } //删除首节点 public Object removeFirst() throws ExceptionQueueEmpty { if (isEmpty()) throw new ExceptionQueueEmpty("意外:双端队列为空"); DLNode first = header.getNext(); DLNode second = first.getNext(); Object obj = first.getElem(); header.setNext(second); second.setPrev(header); size--; return(obj); } //删除末节点 public Object removeLast() throws ExceptionQueueEmpty { if (isEmpty()) throw new ExceptionQueueEmpty("意外:双端队列为空"); DLNode first = trailer.getPrev(); DLNode second = first.getPrev(); Object obj = first.getElem(); trailer.setPrev(second); second.setNext(trailer); size--; return(obj); } //遍历 public void Traversal() { DLNode p = header.getNext(); while (p != trailer) { System.out.print(p.getElem()+" "); p = p.getNex
1
双向链表的创建,查找,添加,删除 dlink createdlist(int *array,int len) { dlink head; // * 双向串列的指标 */ dlink before; // * 前一节点的指标 */ dlink new_node; // * 新节点的指标 */ int i; // * 建立第一个节点 */ // * 配置节点记忆体 */ head = ( dlink ) malloc(sizeof(dnode)); if ( !head ) // * 检查记忆体指标 */ return NULL; head->data = array[0]; // * 建立节点内容 */ head->front = NULL; // * 设定指标初值 */ head->back = NULL; // * 设定指标初值 */ before = head; // * 指向第一个节点 */ for ( i = 1; i data = array[i]; new_node->front = NULL; // * 设定指标初值 */ new_node->back = before; // * 将新节点指向前节点 */ before->front = new_node; // * 将前节点指向新节点 */ before = new_node; // * 新节点成为前节点 */ } return head; // * 传回串列起始指标 */ }
1
摘 要:本课程设计设计一个实用的小型通讯录管理系统,用文件来存储学生的姓名、电话、QQ号码、邮编、地址等信息,完成对信息的添加、删除、查询、显示所有信息,退出及用双向链表来处理修改等操作。 在本课程设计中,系统开发平台为Windows2000,程序设计语言为 C++[1],程序运行平台为Windws 98/2000/XP。程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以应用在实际中解决问题。 关键词:通讯录管理; C++;双向链表
1
C语言通讯录(双向链表实现)
2021-06-22 09:04:00 50KB c语言 链表 双向
1
利用数据结构构建双向链表实现了学生成绩管理,管理包括对学生成绩的相关操作,如双向查找,添加,删除,排序,输出等多种功能。
2021-06-16 01:23:03 221KB 数据结构 双向链表 成绩管理系统
1
数据结构 双向链表的实现
2021-06-08 09:03:30 11.32MB c++ 数据结构 双向链表
1