共有回帖数  0  个 
	 
	
	
	
     
          
          
               
				
			 
				
					 
 
            
				   - 
						
						
							 
									http://pan.baidu.com/s/1bnBwG5D
 
 这是用c和c++写的超级马里奥游戏,欢迎下载体验!
  
  
 大神求教
 #includestdio.h
 #includestdlib.h
 typedef int elemType;
 struct SeqList{
 elemType *list;
 int size;
 int maxSize;
 };
 /*空间扩展为原来的2倍,并由p指针所指向,原内容被自动拷贝到p所指向的存储空间*/
 void againMalloc(struct SeqList*L)
 {
 elemType *p=(elemType*)realloc(L-list,2*L-maxSize*sizeof(elemType));
 if(!p)
 {/*分配失败则推出运行*/
 printf("存储空间分配失败!");
 exit(1);
 }
 L-list=p;/*使list指向新的线性空间*/
 L-maxSize=2*L-maxSize;/*把线性表空间大小修改为新的长度*/
 }
 /*从线性表L中删除第pos个元素*/
 elemType deletePosList(struct SeqList *L,int pos)
 {
 elemType temp;
 int i;
 temp=L-list[pos-1];
 for(i=pos;iL-size;i++)
 {/*用第pos+1个元素覆盖第pos个元素,并此后元素依此往前移动一位*/
 L-list[i-1]=L-list;
 }
 L-size--;/*线性表长度减小1*/
 return 1;
 }
 /*向线性表L的表尾插入元素x*/
 void insertLastList(struct SeqList *L,elemType x)
 {
 if(L-size==L-maxSize)/*重新分配更大的存储空间*/
 {
 againMalloc(L);
 }
 L-list[L-size]=x;/*把x插入到表尾*/
 L-size++;/*线性表的长度增加1*/
 }
 /*在线性表L中查找值与x相等的元素,若查找成功则返回其位置,否则返回-1*/
 int search(struct SeqList *L,elemType x)
 {
 int i;
 for(i=0;iL-size;i++)
 {
 if(L-list=x)
 {
 return i;
 }
 }
 return -1;
 }
 /*顺序输出线性表中的每个元素*/
 void traverseList(struct SeqList *L)
 {
 int i;
 for(i=0;iL-size;i++)
 {
 printf("%d",L-list);
 printf(" ");
 }
 return;
 }
 /*初始化线性表L,即进行动态存储空间分配并置L为一个空表*/
 void initList(struct SeqList *L,int ms)
 {
 /*检查ms是否有效,若无效的则退出运行*/
 if(ms=0)
 {
 printf("MaxSize 非法");
 exit(1);/*执行次函数中止程序运行*/
 }
 L-list=(elemType*)malloc(ms*sizeof(elemType));
 if(!L-list)
 {
 printf("空间分配失败!");
 exit(1);
 }
 L-maxSize=ms;/*设置线性表空间大小为ms*/
 L-size=0;
 return;
 }
 /*返回线性表L当前的长度,若L为空则返回0*/
 int sizeList(struct SeqList *L)
 {
 return L-size;
 }
 int main()
 {
 printf("集合A的元素为:(输入-1表示输入结束)");
 struct SeqList LA;
 int msa;
 initList(&LA,100);/*创建A线性表*/
 scanf("%d",&msa);
 while(msa!=-1)
 {
 insertLastList(&LA,msa);
 scanf("%d",&msa);
 }/*输入线性表A中元素*/
 printf("n集合B的元素为:(输入-1表示输入结束)");
 struct SeqList LB;
 int msb;
 initList(&LB,100);/*创建B线性表*/
 scanf("%d",&msb);
 while(msb!=-1)
 {
 insertLastList(&LB,msb);
 scanf("%d",&msb);
 }/*输入线性表B中元素*/
 
 printf("nA∪B-A∩B的结果为:");
 traverseList(&LA);
 printf("n");
 return 0;
 }
 求A∪B-A∩B A顺序表和B顺序表已经都写完了 需要的函数也定义了好了 思路是B中一个个元素去A中找如果找得到就删去A中该元素找不到就加在A表尾 请问主函数怎么接下去写
 
 楼主 2015-08-05 20:22 回复 
 
 
   
             
                  
                  
 
 
 
     
	 
  
	Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
	
	意见反馈 | 
	关于直线 | 
	版权声明 | 
	会员须知