elem-初学数据结构,请问这个程序问题在哪

问题描述

初学数据结构,请问这个程序问题在哪
#include
#include
#define MaxSize 50
typedef int ElemType;
typedef struct
{
ElemType elem[MaxSize];
int length;
} SqList;

void InitList(SqList &L);//函数的申明
int ListInsert(SqList *&Lint iElemType e);
void DispList(SqList *L);
int MergeList(SqList *LSqList *BSqList *C);
int main()
{
SqList *L*B*C;
ElemType e;
printf(""(1)初始化顺序表Ln"");
InitList(L);
printf(""(2)依次采用尾插法插入abcde元素n"");
ListInsert(L11);
ListInsert(L22);
ListInsert(L33);
ListInsert(L44);
ListInsert(L55);
printf(""(3)输出顺序表L:"");
DispList(L);
InitList(B);
printf(""(2)依次采用尾插法插入abcde元素n"");
ListInsert(B16);
ListInsert(B27);
ListInsert(B38);
ListInsert(B49);
ListInsert(B510);
printf(""(3)输出顺序表B:"");
DispList(B);
MergeList(LBC);
printf(""输出链表Cn"");
DispList(C);
}
void InitList(SqList *&L)//创建链表
{
L=(SqList *)malloc(sizeof(SqList)*MaxSize);
L->length=0;
}
int ListInsert(SqList *&Lint iElemType e)//对链表进行初始化
{
int j;
if (iL->length+1)
return 0;
i--; /
将顺序表位序转化为elem下标*/
for (j=L->length;j>i;j--) /*将elem[i]及后面元素后移一个位置*/
L->elem[j]=L->elem[j-1];
L->elem[i]=e;
L->length++; /*顺序表长度增1*/
return 1;
}
void DispList(SqList *L)//对链表的打印
{
int i;
for (i=0;ilength;i++)
printf(""%5d""L->elem[i]);
printf(""n"");
}
int MergeList(SqList *LSqList *BSqList *C)
{
int InitList(SqList *&C);
int i=1;
int j=1;
int k;
while(ilength&&B->length>j)
if(L->elem[i]<=B->elem[j])
{ C->elem[k]=L->elem[i];
k++;}
else {C->elem[k]=B->elem[j];
k++;}
while(i<=L->length)
{
C->elem[k]=B->elem[i];
k++;}
while(j<=B->length)
{C->elem[k]=L->elem[i];
k++;}
}

解决方案

首先放在编译器中编译,如果出错,编译器会告诉你错在哪。
如果没有错,就运行,使用不同的输入,看结果是否和预期一致,如果不一致,调试,搞清楚问题在哪。
如果正确,那么交给老师,让老师去说吧。

时间: 2024-10-27 07:56:14

elem-初学数据结构,请问这个程序问题在哪的相关文章

c++-OpenGL初学,请问我这段代码有错吗?为什么在窗口显示不出来

问题描述 OpenGL初学,请问我这段代码有错吗?为什么在窗口显示不出来 #include #include #include #include #include const GLint screenWidth = 640; const GLint screenHeight = 480; void myInit(void) { glClearColor(1.0, 1.0, 1.0, 0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluO

web-新手自学,问题比较多。请问这个程序哪里不对?没有背景音乐啊....

问题描述 新手自学,问题比较多.请问这个程序哪里不对?没有背景音乐啊.... 解决方案 f盘有这个音乐么?loop="true"看看. 解决方案二: F盘的确有这个音乐,试了loop="true"也不行

代码-请问这个程序怎么修改,总是提示一个错误

问题描述 请问这个程序怎么修改,总是提示一个错误 #include#include#include#include#define N 3#define M 10int add = N-1;int sum[N]={0}Max[N]Min[N];float aver[N]={0};struct player{ int num; char name[8]; int score[M];}PL;void Inistplayer(PL player[]int n){ int i; for(i=0;i sca

mfc-MFC基于对话的编程,请问一下程序每一行都有什么用?(VC++6.0)

问题描述 MFC基于对话的编程,请问一下程序每一行都有什么用?(VC++6.0) 这是用MFC基于对话写的一个应用程序中的一段代码,作用是单击一个按钮,在一个列表框里显示程序连接的数据库里的数据 请问一下每一行程序都是做什么的?能教我怎么使用这些函数就更好了.小白求教 void CtrainDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code

请问这个程序应该怎么写啊

问题描述 请问这个程序应该怎么写啊 输入一个圆的半径r 和一个字符k, 当k为1时,计算圆的面积: 当k为2时,计算圆的周长: 当k为3时,既要求出圆的面积也要求出圆的周长,该程序取名为实验2-2.c. 解决方案 1.写两个方法,一个根据半径算面积,一个根据半径算周长,如果不知道公式,百度一下 2.通过switch或者if语句,如果是1,则执行面积的方法,并输出,如果k是2,执行周长的方法,如果k是3,执行面积的方法,再执行周长的方法. 简单的联系程序,自己写写吧,如果写完有问题,再贴代码来问.

初学java 请问怎么用eclipse编辑已有的java文件呢

问题描述 初学java 请问怎么用eclipse编辑已有的java文件呢 要编辑的java文件目录如下: java文件的内容如下: 问题来了,如何用eclipse编辑这个java文件呢,我试着新建了java项目,并把以上文件引入到src下,但是编辑时候,会显示下面的错误: 我是初学java请问应该怎样用ecplise编辑现有目录下的java文件,并保存为.class文件呢?我知道肯定是我引入文件不全或者没有正确引入,应该怎么操作呢因为急着要用,所以也没时间学习java基础,所以最好能详细一点,谢

c++-初学C++ 一个小程序 求大神帮忙看下

问题描述 初学C++ 一个小程序 求大神帮忙看下 //分秒显示函数 #include using namespace std; //全局引用std命名空间 void showTime(int ,int); int main() { int hours =0 , mins = 0;//定义且初始化分 和秒 cout << "Input the hour "; cin >> hours; cout << "Input the mins &quo

c++-请问该段程序的错误在哪里?

问题描述 请问该段程序的错误在哪里? #include#includeusing namespace std; void Get(char* p){ p=new char[100];} int main(){ char* s=NULL; Get(s); strcpy(smei""); cout<<s<<endl; return 0;} 解决方案 缺少delete来释放new分配的内存 解决方案二: 和楼上说的一样没有用delete删除分配内存,会造成内存泄露.还

指针-请问这道程序到底错在什么地方?

问题描述 请问这道程序到底错在什么地方? #include int mian() { int i, a[10], *p ; p = a; printf("please input 10 number:"); for (i = 0; i < 10; i++) scanf("%d",p++); p = a; for (i = 0; i < 10; i++, p++) printf("%d",*p); printf("n"