| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 626 人关注过本帖
标题:救命SOS
只看楼主 加入收藏
dianlianghao
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-12-17
收藏
 问题点数:0 回复次数:0 
救命SOS

希望哪位大侠帮帮忙谢谢
给改改!!!!
能帮我的邮箱是419784687@qq.com
本人将非常感谢






下面是完成两个表的合并后再排序的问题!
两个表A B有元素m和n个分别为[x1 x2 x2...][y1 y2 y3.....]
当m>=n时c=x1 x2 x3....y1 y2 y3 ....
当m<n时c=y1 y2 y3...x1 x2 x3..
输出c
用直接排序发对c升序排列!声称d 并输出表d!!!
这是是数据结构的设计







#include"stdlib.h"
#include"stdio.h"
#include"iostream.h"

#define TRUE 1
#define FLASE O
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10

typedef int Status;
typedef char ElemType;
typedef Linklist;
typedef LNode;
#define MAXSIZE 100

typedef struct
{
ElemType *Elem;
int length;
int Listsize;
int Linklist;
}sqlist;

typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*Linklist;

typedef struct{
ElemType data;
int cur;
}component,SLinllist[MAXSIZE];

Status InitList_L(Linklist *L)
{
L->Elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));
if(!L->Elem)exit(OVERFLOW);
L->length=0;
L->Listsize=LIST_INIT_SIZE;
return OK;
}

Status DestroyList(Linklist *L)
{
if(L->Elem!=NULL)
{
free(L->Elem);
L->Elem=NULL;
return OK;
}
else return ERROR;
}

Status ListInsert_L(Linklist *L,int *i,ElemType e)
{
i=&L.Elem[L.length+1];
*i=e;
++L.length;
return OK;
}

Status LocateElem_L(Linklist L,ElemType e)
{
int i;
i=L[0].cur;
while(i&&L[i].data!=e)i=L[i].cur;
return i;
}

Status GetElem_L(Linklist L,int i,ElemType *e)
{
if(i<1或者i>L.length) return ERROR;
*e=L.Elem[i-1];
return OK;
}

int unionList(List La,List Lb,List &Lc)
{
InitList(Lc);
La_Len=Listlength(La);
Lb_Len=Listlength(Lb);
Lc_Len=Listlength(Lc);
while (Lc_Len>=La_Len+Lb_Len)
{
if (La_Len<=Lb_Len)
Lc=La;
for(i=1;i<=Lb_Len;i++)
{
GetElem(Lb,i,e);
if(!LocateElem(Lc,e,equal))
ListInsert(Lc,++Lc_len,e);
}
else
Lc=Lb;
for(i=1;i<=La_Len;i++)
{
GetElem(La,i,e);
if(!LocateElem(Lc,e,equal))
ListInsert(Lc,++Lc_len,e);
}

}
}

typedef int KeyType;
typedef struct
{
KeyType Key;
InfoType otherinfo;
}RedType;
typedef struct
{
RedType r[MAXSIZE+1];
int length;
}Linklist;
void Insersort(Linklist &L)
{
for(i=2;i<=L.length;++i)
if(LT(L.r[i].Key,L.r[i-1].Key))
{
L.r[0]=L.r[i];
L.r[i]=L.r[i-1];
for(j=i-2;LT(L.r[0].Key,L.r[i].Key);--j)
L.r[j+1]=L.r[j];
L.r[j+1]=L.r[0];
}
}

搜索更多相关主题的帖子: SOS 救命 
2005-12-17 10:01
快速回复:救命SOS
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021127 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved