摘要:
单链表逆转 本题要求实现一个函数,将给定的单链表逆转 函数接口定义 List Reverse(List L); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node{ ElementType Data; /* 存储结点数据 */ PtrT 阅读全文
摘要:
自测-1 打印沙漏 要求写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。 给定 阅读全文
摘要:
#include<stdio.h> #include<malloc.h> #include<stdlib.h> struct AvlNode; typedef struct AvlNode *Position; typedef struct AvlNode *AvlTree; typedef cha 阅读全文
摘要:
Divide-and-conquer algorithm in multiplication \[ x^n=x\cdot x\cdot x\cdots x \] 时间复杂度为O(n),有n-1个乘法 \[ x^n=x^\frac n2\cdot x^\frac n2\qquad\mbox{if x 阅读全文
摘要:
BinarySearchTree #include<stdlib.h> #include<malloc.h> #include<stdio.h> struct TreeNode; typedef struct TreeNode *Position; typedef struct TreeNode * 阅读全文
摘要:
一元多项式的加法与乘法运算 题意理解 设计函数分别求两个一元多项式的乘积与和 求解思路 多项式表示 程序框架 读多项式 加法实现 乘法实现 多项式输出 多项式的表示 仅表示非零项 数组 编程简单、调试容易 需要事先确定数组大小 一种比较好的实现方法是:动态数组 链表 动态性强 编程略为复杂、调试比较 阅读全文
摘要:
多项式加法运算 采用不带头结点的单向链表,按照指数递减的顺序排列各项 struct PolyNode{ int coef;//系数 int expon;//指数 struct PolyNode *link;//指向下一个结点的指针 }; typedef struct PolyNode *Polyno 阅读全文
摘要:
队列 队列(Queue):具有一定操作约束的线性表 插入和删除操作:只能在一端插入,而在另一端删除 数据插入:入队(AddQ) 数据删除:出队列(DeleteQ) 先来先服务 先进先出:FIFO 类型名称:队列(Queue) 数据对象集:一个有0个或多个元素的有穷线性表 操作集:长度为MaxSize 阅读全文
摘要:
堆栈 堆栈的抽象数据类型描述 类型名称:堆栈(Stack) 对象数据集:一个有0个或多个元素的有穷线性表 操作集:长度为MaxSize的堆栈$S\in Stack$,堆栈元素$item\in ElementType$ Stack CreateStack(int MaxSize):生成空堆栈,其最大长 阅读全文