还剩4页未读,继续阅读
文本内容:
数据结构作业(C语言版)习题
1.4,试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)复数ADTTriplet{D={ri|ri为实数}R={ri}InitComplexCreim}ADTComplex有理数ADTTriplet{D={c1c2c3|c1c2c3∈Zc3≠0};R={c1c2};C3=c1/c2;}ADTTriplet
1.9假设n为2的乘幂,并且n>2,试求下列算法的时间复杂度及变量count的值(以n的函数形式表示)intTimeintn{count=0;x=2;whilex<n/2{x*=2;count++;}returncount}//Time解count=
1.16试写一算法,自大至小依次输出顺序读入的三个整数X,Y和Z的值Voidbubble-sortinta[XYZ]inti{fori=n-1change=TRUE;i≥change;--i{change=FALSE;forj=0;ji;++jifa[j]a[j+1]{a[j+1]←→a[j]change=TRUE;}}}//bubble-sort解intmax3intxintyintz{ifxyifxzreturnx;elsereturnz;elseifyzreturny;elsereturnz;}
2.1描述以下三个概念的区别头指针,头结点,首元结点(第一个元素结点)头结点在单链表的第一个结点之前附设一个结点,即称之为头结点头指针链表中第一个结点的存储位置即称之为头指针首元结点首元结点是指链表中存储线性表中第一个数据元素a1的结点
2.2填空题
(1)在顺序表中插入或删除一个元素,需要平均移动表中一半元素,具体移动的元素个数与表长和该元素在表中的位置有关
(2)顺序表中逻辑上相邻的元素的物理位置必定相邻单链表中逻辑上...。