多项式ADT的数组实现】的更多相关文章

/*删除表的正确方法*/ /*assume header*/ void DeleteList(List L) { Position p,Tmp; p=L->Next; while(p != NULL) { Tmp=p->Next; free(p); p = Tmp; } }//先free掉,然后再判断这个结点的Next是不是NULL,是就不做了 /*多项式ADT*/ /*多项式数组实现的类型声明*/ /*一个结构就可以表示.一个多项式*/ typedef struct{ CoeffArray[…
/* 栈的数组实现声明 */ struct StackRecord; typedef struct StackRecord *Stack; #define MinSstackSize 5 #define EmptyTOS -1 struct StackRecord { int Capacity; int TopOfStack; ElementType *Array; }; /* 栈的创建-数组实现 */ Stack CreateStack( int MaxElements ) { Stack S…
Random queue ADT接口 RANDOM.h #include <stdlib.h> #include "Item.h" #include <time.h> #include <stdbool.h> void RANDOMQUEUEtailput(int); void RANDOMQUEUEinit(int); bool RANDOMQUEUEisFull(void); bool RANDOMQUEUEisEmpty(void); stat…
Deque ADT接口 DEQUEUE.h: #include <stdlib.h> #include "Item.h" void DEQUEUEinit(int); void DEQUEUEerror(void); Item DEQUEUEheadget(void); Item DEQUEUEtailget(void); void DEQUEUEheadput(Item); void DEQUEUEtailput(Item); int DEQUEUEisEmpty(voi…
FIFO.h (接口) #include "Item.h" #include <stdlib.h> typedef struct STACKnode *link; struct STACKnode { Item item; link next; }; void QUEUEinit(int); int QUEUEempty(void); void QUEUEput(Item); Item QUEUEget(void); void QUEUEerror(void); Item.…
LIFO 栈结构 typedef int ElemenType; struct seqStack{ ElemeType data[MaxSize]; int top; }; typedef struct seqStack* Stack; LIFO 栈基本操作 //LIFO 顺序栈 初始化 void InitStack(Stack s){ s -> top = -; } //LIFO 顺序栈判断栈空 boolean StackEmpty(Stack s){ ) return true; else…
/* Horner */ /*多项式:A(x)=a[n]X^n+a[n-1]x^n-1+...+a[1]X^1+a[0]X^0*/ #include <stdio.h> long int horner(int coefficient[], int n, int x) /*coefficient[]为待求多项式的系数数组,n为数组大小,x为多项式中未知数x的具体值*/ { /*注意:coefficient[0]存放系数a0,coefficient[1]存放系数a1,以此类推*/ int i; l…
多项式均表示为数组形式,数组元素为多项式降幂系数 1.      polyval函数 求多项式在某一点或某几个点的值. p = [1,1,1];%x^2+x+1 x = [-1,0,1];y = polyval(p,x); 另外求函数在某一点或某几个点的值可以用函数feval. x = [-1,0,1]; y = feval(@(x)exp(x),x);%注意用的乘法和乘法都改用.运算符 2.      roots函数 求多项式的零点. p = [1,-3,2,0];x0 = roots(p);…
表.栈和队列是最简单和最基本的三种数据结构.基本上,每一个有意义的程序都将明晰地至少使用一种这样的数据结构,比如栈在程序中总是要间接地用到,不管你在程序中是否做了声明. 本章学习重点: 理解抽象数据类型(ADT)的概念学习如何对表进行有效的操作 熟悉栈ADT及其在实现递归方面的应用 熟悉队列ADT及其在操作系统和算法设计中的应用 ADT 抽象数据类型(abstract data type)是一个操作的集合,是数学的抽象,在ADT中不涉及如何实现操作的集合,这可以看作是模块化设计的扩充.对于每种A…
抽象数据类型 (abstract data type,ADT) 抽象数据类型是一些操作的集合.抽象数据类型是数学中的定义,在ADT中,我们不关心操作是如何被实现的.因此,这可以看做是模块化的扩充.例如表,树,图和它们的操作一起可以看做是抽象数据类型,就想整数,实数和布尔变量是数据类型一样.整数,实数和布尔变量有它们的操作,抽象数据类型也有它们自己的操作. 表 ADT 我们将形如A1,A2,A3,...,An的一列数称为表.表的大小:表中的元素的个数称为表的大小,大小为0的表称为空表.对于除空表外…