从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错误信息并退出运行。

从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错误信息并退出运行。


参考答案和解析
1)实现删除具有最小值元素的函数。算法的基本设计思想:从前向后遍历线性表用~个变量记录最小值同时用另一个变量记录最小值位置。遍历之后将最小值删除。算法的代码: DataType deleteMin(SeqL 5.st &LDataType &Value) { if(L.n==0) return false; //表空终止操作返回 value=L.data[0]; //假定0号元素的值最小 int ipos=0; for(i=1;i L.n) return false; //表空或者i不合理终止操作 value=L.data[i]; for(int j=i+1;j L.n) return false; //表空或者i不合理终止操作 value=L.data[i]; for(int j=i+1;j L.n) return falSe; //表满或者参数不合理终止操作 for(int J=L.n; J>i;J--) L.data[J]=L.data[J-1]j L.data[i]=value //从第i个位置插入 L.n++; retUrn true ; //insertnoi 4)从顺序表中删除具有给定值X的所有元素。 算法的基本设计思想:从后向前遍历一直找到具有x值的元素然后依次将此后的元素前移。 算法的代码: void deleteValue(SeqLiSt&LDataType value)} int iJ; for(i=L.n-1;i>=0ji--) { //循环寻找具有X值的元素并删除 if(L.data[i]==value) //删除具有x值的元素 { for(J=i+1;J =t) retu.rn false; int ij for(i=L.n-1;i>=0;i--) { //循环寻找在给定范围内的元素并删除它 if(L.data[i]>=s&&L.data[i]<=t) //删除 { for(J=i+1;J =t) return false; int iJku; for(i=0j i =L.n) return false; for(J=i;J L.n) return false for(k=ju=i;k 1)实现删除具有最小值元素的函数。算法的基本设计思想:从前向后遍历线性表,用~个变量记录最小值,同时用另一个变量记录最小值位置。遍历之后将最小值删除。算法的代码:DataTypedeleteMin(SeqL5.st&L,DataType&Value){if(L.n==0)returnfalse;//表空,终止操作返回value=L.data[0];//假定0号元素的值最小inti,pos=0;for(i=1;i L.n)returnfalse;//表空或者i不合理,终止操作value=L.data[i];for(intj=i+1;j L.n)returnfalse;//表空或者i不合理,终止操作value=L.data[i];for(intj=i+1;j L.n)returnfalSe;//表满或者参数不合理,终止操作for(intJ=L.n;J>i;J--)L.data[J]=L.data[J-1]jL.data[i]=value,//从第i个位置插入L.n++;retUrntrue;//insertnoi4)从顺序表中删除具有给定值X的所有元素。算法的基本设计思想:从后向前遍历,一直找到具有x值的元素,然后依次将此后的元素前移。算法的代码:voiddeleteValue(SeqLiSt&L,DataTypevalue)}inti,J;for(i=L.n-1;i>=0ji--){//循环,寻找具有X值的元素并删除if(L.data[i]==value)//删除具有x值的元素{for(J=i+1;J =t)retu.rnfalse;inti,j,for(i=L.n-1;i>=0;i--){//循环,寻找在给定范围内的元素并删除它if(L.data[i]>=s&&L.data[i]<=t)//删除{for(J=i+1;J =t)returnfalse;inti,J,k,u;for(i=0ji =L.n)returnfalse;for(J=i;J L.n)returnfalse,for(k=j,u=i;k

相关考题:

从顺序表中删除一个元素时,表中所有在被删元素之后的元素均需()。 A、前移一个位置B、后移一个位置C、不动D、视情况而定

在一个长度为n的顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。则原顺序表的长度为( )。 A、19B、21C、25D、20

在一个长度为n的顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。则原顺序表的长度为()。 A.21B.19C.20D.25

若某线性表长度为n且采用顺序存储方式,则运算速度最快的操作是( )。A.查找与给定值相匹配的元素的位置B.查找并返回第i个元素的值(1in)C.删除第i个元素(1in)D.在第i个元素(1in )之前插入一个新元素

长度为l0的顺序表的首地址是从l023开始的,顺序表中每个元素的长度为2,在第4个元素前面插入一个元素和删除第7个元素后,顺序表的总长度还是不变。问在执行插入和删除操作前,顺序表中第5个元素在执行插入和删除操作后在顺序表中的存储地址是( )A.1028B.1029C.1031D.1033

若某线性表长度为n且采用顺序存储方式,则运算速度最快的操作是(37)。A.查找与给定值相匹配的元素的位置B.查找并返回第i个元素的值(1≤i≤n)C. 删除第i个元素(1≤i≤n)D.在第i个元素(1≤i≤n)之前插入一个新元素

删除非空顺序表的()那个数据元素时不必移动表中其他元素的位置。

若顺序表中的元素是从1位置开始存放的,要删除具有n个元素的顺序表中某个元素,合法的删除位置是()

在具有n个元素的顺序存储结构的线性表任意一个位置中删除一个元素,在等概率条件下,平均需要移动()个元素。

若顺序表中的元素是从1位置开始存放的,要在具有n个元素的顺序表中插入一个元素,合法的插入位置是()。

要删除顺序表L中的i位置的元素x,正常删除时,i位置以后的元素需要前移,首先前移的是()元素。

要从一个顺序表删除一个元素时,被删除元素之后的所有元素均需()一个位置,移动过程是从()向()依次移动一个元素。

顺序存储的线性表,设其长度为n。在任何位置上插入或删除操作的时间代价基本上都是等效的。则插入一个元素大约需要移动表中的()个元素,删除一个元素时大约要移动表中的()个元素。

表长为n的顺序存储的线性表,当在任何位置上删除一个元素的概率相等时,删除一个元素需移动元素的平均次数为()

要从一个顺序表删除一个元素时,被删除元素之后的所有元素均需()一个位置,移动过程是从()向()依次移动每一个元素。

在线性表的顺序存储中,若一个元素的下标为i,则它的前驱元素的下标为(),后继元素的下标为()。

设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中()个数据元素;删除第i个位置上的数据元素需要移动表中()个元素。

要从一个顺序表删除一个元素时,被删除之后的所有元素均需()一个位置,移动过程是从()向()依次移动每一个元素。

填空题要从一个顺序表删除一个元素时,被删除元素之后的所有元素均需()一个位置,移动过程是从()向()依次移动一个元素。

填空题要从一个顺序表删除一个元素时,被删除元素之后的所有元素均需()一个位置,移动过程是从()向()依次移动每一个元素。

填空题要从一个顺序表删除一个元素时,被删除之后的所有元素均需()一个位置,移动过程是从()向()依次移动每一个元素。

填空题设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中()个数据元素;删除第i个位置上的数据元素需要移动表中()个元素。

填空题若顺序表中的元素是从1位置开始存放的,要在具有n个元素的顺序表中插入一个元素,合法的插入位置是()。

单选题在一个长度为n的顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。则原顺序表的长度为()。A21B19C20D25

填空题顺序存储的线性表,设其长度为n。在任何位置上插入或删除操作的时间代价基本上都是等效的。则插入一个元素大约需要移动表中的()个元素,删除一个元素时大约要移动表中的()个元素。

填空题删除非空顺序表的()那个数据元素时不必移动表中其他元素的位置。

填空题若顺序表中的元素是从1位置开始存放的,要删除具有n个元素的顺序表中某个元素,合法的删除位置是()

填空题表长为n的顺序存储的线性表,当在任何位置上删除一个元素的概率相等时,删除一个元素需移动元素的平均次数为()