数据结构案例 C语言版
1、求两线性表LA与LB分别表示两个集合,求A = A U B
void union(Linear_lsit LA, Linear_lsit LB){n = ListLength(LA); //LA的表长for(i =1; i <= ListLength(LB); i++){x = GetNode(LB, i);//取LB中第i个值赋给xif(LocateNode(LA, x) == 0){InsertList(LA, ++n, x);}}
}
2、删除线性表L中重复的原素
void purge(linear_List L)
{i = 1;while (i < ListLenght(L)){x = GetNode(L, i);j = i + 1;while (j <= ListLength(L)){y = GetNode(L, j);if (x == = y){DeleteList(L, j);}else{j++;}}i++;}
3、在一个顺序表中找到最大值与最小值,及其所在的位置
void MaxMin(SeqList L, DataType * max, DataType * min, int *k, int *j){int i;*max = L.data[0];*min = L.data[0];*k = *j = 1; // 假设第一个即使最大值也是最小值for (i = 1; L.length; i++){if (L.data[i] > *max){*max = L.data[i];*k = i;}else if (L.data[i] < *min){*min = L.data[i];*j = i;}}}
4、将一个头节点指针为a的带头结点的单链表A分解成两个单链表A和B,其中头节点指针分别为a和b,使得A链表中含有远链表A中序号为奇数的元素,而B链表中含有原链表中序号为偶数的元素,并保持原来的相对顺序
void split(LinkList a, LinkList b){ListNode *p, *r, *s;p = a->next;r = a;s = break;while (p != NULL){r->next = p;r = p;p = p->next;if (p){s->next = p;s = p;p = p->next;}}r->next = s->next = NULL;}
5、已有一个节点数据域为整型的,且按大到小顺序排列的头节点指针为L的非空单循环链表,试写一个算法插入一个结点(其数据域为x)至循环表的适当位置使之保持链表的有序性
void InsertList(LinkList L, int x){ListNode *s, *p, *q;s = (ListNode *)malloc(sizeof(ListNode));s->data = x;p = L;q = p->next;while (q->data > x && q != L){p = p->next;q = p->next;}p->next = s;s->next = q;}
数据结构案例 C语言版相关推荐
- 资料分享:送你一本《数据结构(C语言版)》电子书!
要想写出可复用.可扩展.易维护.灵活性好的代码,「数据结构」这一关必须要过啊! 在数据结构与算法的众多教材中,奉为经典的当属清华大学严蔚敏老师的著作.很多学校也选择这本书作为考研指定教材. 正在学习数 ...
- 资料分享:送你一本《数据结构(C#语言版)》电子书!
对于信息类专业的学生而言,数据结构与算法是一门必修的课程.只有学好这门课程,熟练掌握线性表.栈.队列.树.图等基本结构,以及在这些结构上的各种算法,才能利用计算机去解决实际问题. 如何学好这门课程呢, ...
- 数据结构(C语言版) 第 八 章 排序 知识梳理 + 习题详解
目录 一.归并排序 二.交换排序 1.快速排序 2.冒泡排序 三.插入排序 1.直接插入排序(基于顺序查找) 2.折半插入排序(基于折半查找) 3.希尔排序(基于逐趟缩小增量) 四.选择排序 0.直接 ...
- 数据结构(C语言版) 第 六 章 图 知识梳理 + 习题详解
目录 一. 图的基本定义和术语 一.图的基本概念 1.度 2.连通 (1)连通图 (2)强连通/强连通图 3.回路 4.完全图 二.图的三种存储结构 1.邻接矩阵表示法 2.邻接表(链式)表示法 3. ...
- 数据结构(C语言版) 第 三 章 栈与队列 知识梳理 + 作业习题详解
目录 一.栈 0.栈的基本概念 1.栈的实现 2.栈与递归 3.Hanoi塔问题 二.队列 0.队列的基本概念 1.队列的实现 2.循环队列 2.1循环队列的相关条件和公式: 3.链队列 4.链队列完 ...
- 数据结构(C语言版) 第二章 线性表 知识梳理+作业习题详解
目录 一.线性表顺序存储结构(顺序表) 0.线性表的基本概念 1.样例引入:多项式相加 二.线性表链式存储结构(链表) 0.链表的基本概念 1.前插法代码实例 2.链表尾插法完整代码附带各种操作 三. ...
- 严蔚敏版《数据结构 (C语言版)》和《数据结构题集》(一)
这里用的是严蔚敏版<数据结构 (C语言版)>和<数据结构题集>,深感自己的代码写得又渣又无力,打算把这本书好好琢磨透彻,里面的算法和模板都实现一遍,题目也都做一遍.最终能够做到 ...
- 数据结构(C语言版 第2版)课后习题答案 严蔚敏 等 编著
数据结构(C语言版 第2版)课后习题答案 严蔚敏 等 编著,仅供参考,还是自己认真做了再看 第1章 绪论 5.选择题 (1)在数据结构中,从逻辑上可以把数据结构分成( C ). A.动态结构和静态 ...
- 《数据结构(C语言版)》严巍敏课件~第二章:线性表
<数据结构(C语言版)>严巍敏课件-第二章:线性表
最新文章
- 金融学名词M0, M1, M2, M3, M4, M5, M6
- win10玩cf不能全屏_游戏莫名卡顿四招搞定!Win10游戏优化教程
- python 类调用不存在的方法_[python] 类常用的内置方法
- (z) 什么是好的硬件工程师
- php与mysql连接程序_PHP与Mysql连接
- 【转】ABP源码分析四十六:ABP ZERO中的Ldap模块
- QT TextEdit设置背景、明文加密、弹出网站、弹出自定义对话框、gif动态图片、程序启动动画、打包程序、关闭事件
- 在angular的自定义回调中操作$scope
- mysql基础-基本的命令行操作
- android cardview,安卓 CardView 妙用
- 【渝粤教育】电大中专中药调剂作业 题库
- AIOT:基于智能家居谈AIOT
- 坑了程序员的政府项目是什么样的?
- CV领域论文查找方法
- 谷露专访伯周咨询创始人Tiger Pan:在退潮后蜕变
- 香港虚拟主机和美国虚拟主机的区别体现在哪些方面
- BugKu -- AWD --S1排位赛-4
- android stdudio OpenCV NDK 开发环境搭建 之找查条形码
- 跳转微信功能(学习总结)
- Adobe XMP SDK项目应用(续2)
热门文章
- CAD快速看图怎么转换成PDF格式?这一款软件就足够
- go程序设计语言第十二章-反射
- 中国土壤数据库及其分省处理数据集
- windows远程连接服务器,出现身份验证错误,给函数提供的身份无效!
- 服务器pci数据捕获和信号处理 感叹号,PCI数据捕获和信号处理控制器出现黄色感叹号 win10 系统?...
- linux 烧片文件生成,在Linux上烧录CD
- Web性能压力测试工具webbench用法
- 2006国际GUI冠军赛最佳易用性视觉风格金奖获得者许士彦(Ricky Xu)专访
- node.js后端及Vue前端跨域解决方案
- 管理者不可不知的5个管理常识,说的有道理