数据结构八个球变形问题--求大神指点好项目

数据结构问题,将序列调整为小顶堆和大顶堆,求大神帮忙
[问题点数:40分,无满意结帖,结帖人qq_]
数据结构问题,将序列调整为小顶堆和大顶堆,求大神帮忙
[问题点数:40分,无满意结帖,结帖人qq_]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关推荐:
2015年8月 C/C++大版内专家分月排行榜第三2015年5月 C/C++大版内专家分月排行榜第三2015年3月 C/C++大版内专家分月排行榜第三2015年1月 C/C++大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。数据结构顺序表里面有个问题不懂,求指点_百度知道
数据结构顺序表里面有个问题不懂,求指点
// 在顺序线性表L的第i个元素之前插入新的元素eStatus ListInsert_Sq(SqList &L, int i, ElemType e){
ElemType *p;
if (i & 1 || i & L.length+1) return ERROR;
if (L.length &= L.listsize)
//当前存储空间已满,增加分配
ElemType *newbase = (ElemType *)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof (ElemType));
//realloc:改变mem_address所指内存区域的大小为newsize长度
if (!newbase) return ERROR;
L.listsize += LISTINCREMENT;
ElemType *q = &(L.elem[i-1]);
for (p = &(L.elem[L.length-1]); p&=q; --p) *(p+1) = *p;
return OK;}其中的L.length &= L.listsize这个我不懂,length是当前长度,listsize是当前分配的存储容量(以sizeof(ElemType)为单位。内存容量跟长度比较有意义吗?
提问者采纳
这么说吧,我们把List当成宾馆,L.listsize(分配的内存)我们当成宾馆的总房间数,L.length(当前长度)我们认为是有客人的房间数。当有新客人来的时候,要先看看有没有空房间,比较总房间数和有客人的房间数,如果有客人房间数等于宾馆房间总数(L.length &= L.listsize),就是没空房间了,需要扩盖房间(分配新内存) 对List就是新添加元素的时候,先看看当前内存量和当前长度,如果没有多余空间了就先分配内存。
提问者评价
其他类似问题
为您推荐:
顺序表的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁线性表中顺序表的四个算法程序运行出错,求指正_数据结构吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:22,346贴子:
线性表中顺序表的四个算法程序运行出错,求指正收藏
程序如下#include &stdio.h&#include &stdlib.h&#define N 9; //应用scanf函数让用户定义数组总是提示错误,所以就简化掉,直接定义长度//typedef int ElemTstruct List {ElemType *
int MaxS };//#include"顺序表作业头文件.h"//判断顺序表是否为空//int EmptyList(struct List *L){if(L-&size==0)
printf("该表为空!");
exit(1);}void againMalloc(struct List *L){ElemType *p=(L-&list,2*L-&MaxSize*sizeof(ElemType));if(!p){
printf("存储空间用完!\n");
exit(1);}L-&list=p;L-&MaxSize=2*L-&MaxS}//在顺序表表头插入元素//void InsertFirstList(struct List *L,ElemType x) { if(L-&size==L-&MaxSize) againMalloc(L); for(i=L-&size-1;i&=0;i--) L-&list[i+1]=L-&list[i]; L-&list[0]=x; L-&size++; }//在顺序表表尾插入元素////在顺序表确定位置插入元素//int InsertPosList(struct List *L,int pos,ElemType x){
if(pos&1||pos&L-&size+1)
if(L-&size==L-&MaxSize)
againMalloc(L);
for(i=L-&size-1;i&=pos-1;i--)
L-&list[i+1]=L-&list[i];
L-&list[pos-1]=x;
L-&size++;
return 1; }//遍历一个顺序表//void TraverseList(struct List *L) {
for(i=0;i&L-&i++)
printf("%d ",L-&list[i]);
printf("\n"); }
//2.3.1 从顺序表中删除最小元素并由函数返回,空出位置由最后一个元素填补,顺序表为空则显示错误信息并退出运行//void MinDeleteList(struct List *L){int i,x,a,b,c,int pos=1;EmptyList(&L);//看表是否为空// for(i=0;i&L-&i++)
a=L-&list[0];b=L-&list[i+1];if(a&b)
a=b; //查找表中元素最小值//
pos=i+1;//记下最小元素位置//
temp=a;//记下最小元素的值// }
DeleteValueList(&L,temp);
x=list[L-&size-1];//删除最小值元素后顺序表的表尾元素//
InsertPosList(&L,pos,x);
return(temp);}
//2.3.2删除值在定值s和t之间所有元素//void DeleteValueList(struct List *L,ElemType s,ElemType t) { int i=0; while(i&L-&size) if(( L-&list[i]&=s)&&( L-&list[i]&=t)){ for(int j=i+1;j&L.j++)
L-&list[j-i]= L-&list[j];
L-&size--; } else i++; } //根据一维数组中n个元素建立一个有序线性表//void RankList(struct List *L,a[N]){int i,j,t;
for(i=0;i&10;i++)for(j=0;j&9-i;j++)
if(a[i]&a[i+1]) {
t=a[i];a[i]=a[i+1];a[i+1]=t;//对数组进行排序// }
for(i=0;i&10;i++)
InsertFirstList(struct sNode**HL,a[i]);//将排序后的数组插入线性表//
}//从有序线性表中删除值在定值s和t之间的所有元素//void DeleteValueRankList(struct List *L,ElemType s,ElemType t) { int i=0;int j=0;k=i+j; while(i& L-&size){if( L-&list[i]&s)
if(i& L-&size){ While((i+j& L-&size)&&( L-&list[i+j]&=t)) j++;for(;k& L-&k++) { L-&list[k-j]= L-&list[k]; L-&size-=j; }} }void main(){int a[]={21,3,454,6,5,57,467,32,64,9};
int i,s,t;struct List L;InitList(&L,10);for(i=0;i&10;i++)
InserLastList(&L,a[i]);//通过该一维数组建立一个线性表//printf("建立一个线性表,未进行操作时表中元素为%d\n",TraverseList(&L));printf("p53,2.3.1 从线性表中删除最小元素并由函数返回,空出位置由最后一个元素填补,线性表为空则显示错误信息并退出运行");
MinDeleteList(&L);printf("删除的表中最小元素值为%d\n,temp");printf("删除操作并填补后线性表中元素为%d\n,TraverseList(&L)");
printf("p53,2.3.2 从线性表中删除值在给定值s和t之间(s&=t)的所有元素");printf("请输入定值s和t,并确保s&=t,以空格隔开");scanf("%d" "%d",&s,&t);
DeleteValueList(&L,s,t);printf("删除定值之间元素后线性表中元素为%d\n,TraverseList(&L)");printf("p53,2.3.4 根据一维数组中的n个元素建立一个有序线性表");RankList(&L,a[i]);
printf("建立的有序线性表为%d\n,TraverseList(&L)");printf("p53,2.3.5 从有序线性表中删除值在给定值s和t(s&=t)之间的所有元素");
printf("请输入定值s和t,并确保s&=t,以空格隔开");scanf("%d" "%d",&s,&t);DeleteValueRankList(&L,s,t) ;printf("删除有序线性表中给定值%d和%d之间的元素后线性表中元素为%d\n,s,t,TraverseList(&L)");}系统报错顺序表作业.cC:\Users\Administrator\Desktop\数据结构\顺序表作业.c(22) : warning C4047: 'initializing' : 'int *' differs in levels of indirection from 'unsigned int 'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(71) : warning C4047: 'function' : 'struct List *' differs in levels of indirection from 'struct List ** 'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(71) : warning C4024: 'EmptyList' : different types for formal and actual parameter 1C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(81) : warning C4013: 'DeleteValueList' assuming extern returning intC:\Users\Administrator\Desktop\数据结构\顺序表作业.c(82) : error C2065: 'list' : undeclared identifierC:\Users\Administrator\Desktop\数据结构\顺序表作业.c(82) : error C2109: subscript requires array or pointer typeC:\Users\Administrator\Desktop\数据结构\顺序表作业.c(83) : warning C4047: 'function' : 'struct List *' differs in levels of indirection from 'struct List ** 'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(83) : warning C4024: 'InsertPosList' : different types for formal and actual parameter 1C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(84) : warning C4098: 'MinDeleteList' : 'void' function returning a valueC:\Users\Administrator\Desktop\数据结构\顺序表作业.c(88) : error C2371: 'DeleteValueList' : different basic typesC:\Users\Administrator\Desktop\数据结构\顺序表作业.c(92) : error C2143: syntax error : missing ';' before 'type'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(92) : error C2143: syntax error : missing ';' before 'type'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(92) : error C2143: syntax error : missing ')' before 'type'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(92) : error C2143: syntax error : missing ';' before 'type'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(92) : error C2065: 'j' : undeclared identifierC:\Users\Administrator\Desktop\数据结构\顺序表作业.c(92) : error C2231: '.size' : left operand points to 'struct', use '-&'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(92) : warning C4552: '&' : op expected operator with side-effectC:\Users\Administrator\Desktop\数据结构\顺序表作业.c(92) : error C2059: syntax error : ')'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(93) : error C2146: syntax error : missing ';' before identifier 'L'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(101) : error C2143: syntax error : missing ')' before '['C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(101) : error C2081: 'a' : name in formal parameter list illegalC:\Users\Administrator\Desktop\数据结构\顺序表作业.c(101) : error C2143: syntax error : missing ']' before ';'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(101) : error C2090: function returns arrayC:\Users\Administrator\Desktop\数据结构\顺序表作业.c(101) : error C2059: syntax error : ']'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(101) : error C2059: syntax error : ')'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(120) : error C2065: 'k' : undeclared identifierC:\Users\Administrator\Desktop\数据结构\顺序表作业.c(127) : warning C4013: 'While' assuming extern returning intC:\Users\Administrator\Desktop\数据结构\顺序表作业.c(128) : error C2146: syntax error : missing ';' before identifier 'j'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(138) : error C2143: syntax error : missing ';' before 'type'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(141) : error C2143: syntax error : missing ';' before 'type'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(142) : error C2143: syntax error : missing ';' before 'type'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(143) : warning C4013: 'InitList' assuming extern returning intC:\Users\Administrator\Desktop\数据结构\顺序表作业.c(145) : warning C4013: 'InserLastList' assuming extern returning intC:\Users\Administrator\Desktop\数据结构\顺序表作业.c(145) : error C2065: 'a' : undeclared identifierC:\Users\Administrator\Desktop\数据结构\顺序表作业.c(145) : error C2109: subscript requires array or pointer typeC:\Users\Administrator\Desktop\数据结构\顺序表作业.c(146) : warning C4047: 'function' : 'struct List *' differs in levels of indirection from 'struct List ** 'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(146) : warning C4024: 'TraverseList' : different types for formal and actual parameter 1C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(146) : error C2095: 'printf' : actual parameter has type 'void' : parameter 2C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(149) : warning C4047: 'function' : 'struct List *' differs in levels of indirection from 'struct List ** 'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(149) : warning C4024: 'MinDeleteList' : different types for formal and actual parameter 1C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(161) : warning C4047: 'function' : 'struct List *' differs in levels of indirection from 'struct List ** 'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(161) : warning C4024: 'RankList' : different types for formal and actual parameter 1C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(161) : error C2109: subscript requires array or pointer typeC:\Users\Administrator\Desktop\数据结构\顺序表作业.c(167) : warning C4047: 'function' : 'struct List *' differs in levels of indirection from 'struct List ** 'C:\Users\Administrator\Desktop\数据结构\顺序表作业.c(167) : warning C4024: 'DeleteValueRankList' : different types for formal and actual parameter 1执行 cl.exe 时出错.顺序表作业.obj - 1 error(s), 0 warning(s)
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或高中数学 均值定理 求大神指点 主要不知道怎么变形 _百度作业帮
高中数学 均值定理 求大神指点 主要不知道怎么变形
高中数学 均值定理 求大神指点 主要不知道怎么变形&
因为2a+b=1所以(2a+b)的平方=1=4a的平方+b的平方+4ab所以原式=2乘以根号下ab-(1-4ab)然后令根号下ab=t替换这个函数,就可以得到一个一元二次方程了~}

我要回帖

更多关于 求大神ps 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信