哪位大佬能帮我把这段c程序改成Java谢谢。

#include
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
#define OVERFLOW -1
#define OK 1
#define ERROR 0
typedef int ElemType;
typedef int Status;

//顺序表存储结构的定义
typedef struct
{
ElemType *elem;
int length;
int listsize;
}sqlist;

//顺序表的初始化
Status InitList_sq(sqlist *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 ListInsert_sq(sqlist L, int i, int e)
{
ElemType *newbase, *p, *q;
if (i < 1 || i > L->length+1)
{
return ERROR;
}
if (L->length >= L->listsize)
{
newbase = (ElemType
)realloc(L->elem,(L->listsize+LISTINCREMENT)*sizeof(ElemType));
if (!newbase)
exit(OVERFLOW);
L->elem = newbase;
L->listsize = L->listsize+LISTINCREMENT;
}
q = &(L->elem[i-1]);
for(p = &(L->elem[L->length-1]) ; p >= q ; --p)
{
*(p+1) = *p;
}
*q = e;
++L->length;
return OK;
}

//顺序表的删除
Status ListDelete_sq(sqlist *L, int i, ElemType *e)
{
ElemType *p, *q;
if ( i < 1 || i > L->length)
{
return ERROR;
}
p = &(L->elem[i-1]);
*e = *p;
q = L->elem + L->length-1;
for(++p; p<= q; ++p)
{
*(p-1) = *p;
}
--L->length;
return OK;

}

//顺序表的归并
void MergeList_sq(sqlist La, sqlist *Lb, sqlist *Lc)
{
ElemType *pa ,*pb,*pc,*pa_last,*pb_last;
pa = La->elem;
pb = Lb->elem;
Lc->listsize = Lc->length = La->length + Lb->length;
pc = Lc->elem = (ElemType
)malloc(Lc->listsize*sizeof(ElemType));
if(!Lc->elem)
{
exit(OVERFLOW);
}
pa_last = La->elem + La->length - 1;
pb_last = Lb->elem + Lb->length - 1;
while(pa <= pa_last && pb <= pb_last)
{
if(*pa <= *pb)
*pc++ = *pb++;
else
*pc++ = *pb++;
}
while(pa <= pa_last)
*pc++ = *pa++;
while(pb <= pb_last)
*pc++ = *pb++;
}

int main() {
int i;
int n = 5;
ElemType e;
sqlist La,Lb,Lc;
if(InitList_sq(&La))
{
printf("Init is ok\n");
printf("Length:%d\n",La.length);
printf("listsize:%d\n",La.listsize);

} else {
printf("error!");
}

//顺序表输入初始值
printf("Please input the value of sq:\n");
for (i = 1; i <= n; i++) 
{
    scanf("%d",&e);
    if (ListInsert_sq(&La, i, e) != OK) 
    {
        break;
    }
}
for(i = 1; i <= La.length; i++) 
{
    printf("e[%d]=%d\n",i-1, La.elem[i-1]);
}
printf("Length:%d\n\n",La.length);

///插入 
printf("Please input the place of insert:\n");
scanf("%d",&i);
printf("Please input the value of insert:\n");
scanf("%d",&e);
if(ListInsert_sq(&La,i,e) == OK) 
{
    for (i = 1; i <= La.length; i++) 
    {
        printf("e[%d]=%d\n",i-1, La.elem[i-1]);
        printf("Length:%d\n\n",La.length);
    }
}
//删除
printf("Please input the place of delet:\n");
scanf("%d",&i);
if(ListDelete_sq(&La, i, &e) == OK) 
{
    printf("The delete elem is:%d\n",e);
}
for (i = 1; i < La.length; i++) 
{
        printf("e[%d]=%d\n",i-1, La.elem[i-1]);
        printf("Length:%d\n\n",La.length);
}

//顺序表的归并
printf("Please input the value of sq2:\n");
InitList_sq(&Lb);
InitList_sq(&Lc);
for (i = 1; i <= n; i++) 
{
    scanf("%d",&e);
    if (ListInsert_sq(&Lb, i, e) != OK) 
    {
        break;
    }
}
MergeList_sq(&La, &Lb, &Lc);
for(i = 1; i <= Lc.length; i++) 
{
    printf("e[%d]=%d\n",i-1, Lc.elem[i-1]);
}
    return 0;

}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

4
java.lang.NullPointerException我是萌新,刚学了一点点JAVA,哪位大佬帮一下,谢谢
3
请问哪位大佬知道在哪儿可以下到java的api文档呀,中文版的最好
1
java 钩子函数是写在静态方法里面的吗?为什么?该方法中断或报错就调用钩子函数吗?哪位大佬详解一下?
1
Java的lire大佬们能给个测相似度的例子吗?
2
c语言哪位大佬看一下,写的约瑟夫环,一执行程序就停止。
3
java内存模型问题,求大佬解答下我的疑惑
3
哪位大佬给我解答一下淘宝京东是怎么保证登录密码安全的
3
这是一个关于C语言的简单程序问题
1
NetBeans清理构建报错,请大佬帮帮忙谢谢.
3
各位大佬,我想问一下,我在用java查询数据生成了txt,想要把这个txt文档放到别的主机上,应该怎么做?
3
如何在C#winform中做一个会变化的排行榜,各位大佬能不能给点思路
1
哪位大佬帮我看看是什么问题 while 不能嵌套吗?还是说while (resultSet.next())不能嵌套?
1
java springcloud项目在微服务中,在filter过滤器使用RedisTemplate,报错,请大佬帮我看下?
2
这个题困扰我很长时间了,,,有哪位大佬能帮我看看这个有关区间的问题吗?万分感谢!!!
1
标题:需要设计一程序,请大佬帮帮忙?
1
python计算器功能实现,就差阶乘和求sin了,大佬帮帮小弟~
1
这是一道文件的题,有哪位大佬可以帮帮忙吗?自己没什么思路
2
明解Java有个题不太懂求大佬解答
2
springboot打包成功了 部署tomcat 启动就报错 哪位大佬帮忙看看这是什么问题导致的?