c++

默认分类 | 2019-04-17 14:09:52 | 阅读 222 次 | 评论(1)

#include<stdlib.h>
#include<stdio.h>
#define Maxsize 20
void menu(){
 printf("------------------------\n");
 printf("输入0初始化线性表:\n");
 printf("输入1给线性表赋值:\n");
 printf("输入2输出线性表元素:\n");
 printf("输入3查询线性表某一元素:\n");
 printf("输入4插入元素至线性表:\n");
 printf("输入5删除线性表中某一元素:\n");
 printf("输入6清空线性表:\n");
 printf("输入7输出线性表表长:\n");
 printf("输入8退出菜单:\n");
}
typedef int tt;
typedef struct
{ tt data[Maxsize];
  int length;
 }SqList;
 SqList a;
 void jian(SqList &a)
 { int x;
  do {  printf("输入线性表长度:\n");
     scanf("%d",&x);
  }while(x>=19&&x<0);
  a.length = x;
   for(int i=0;i<a.length;i++)
   {  printf("输入线性表中第%d个元素:\n",i+1);
    scanf("%d",&a.data[i]);        
   }
 }
 void DisList(SqList a)
 {
  int i;
  for(i=0;i<a.length;i++)
  printf("%4d",a.data[i]);
  printf("\n");
 }
  int  InsElem(SqList &a,int i,int x)

int j;
 printf("请输入要插入的元素:\n");
 scanf("%d",&x);
 printf("请输入要插入的位置:\n");
 scanf("%d",&i);
  if(i<1||i>a.length+1)
  return 0;
  for(j=a.length;j>i;j--)
   a.data[j]=a.data[j-1];
  a.data[i]=x;
  a.length++;
  return 1; 
}
int DelEiem(SqList &a,int i)
{ int j;
 if(isEmpty(a))
 {
  printf("表空\n");
 return 0;
 }
printf("请输入要删除的元素的位置:\n");
 scanf("%d",&i);
 if(i<1||i>a.length)
 return 0;
 for(j=i;j<a.length;j++)
 a.data[j-1]=a.data[j];
 a.length--;
 return 1; 
}
int GetElem(SqList a,int i,tt &e)

 printf("请输入要查找元素的位置:\n");
 scanf("%d",&i);
 if(i<1||i>a.length)
 return 0;
   else
{  e = a.data[i-1];
   printf("%d\n",e);
   return 1;
   }
}
void DestoryList(SqList a)

 printf("表已清空\n");
}
void IntList(SqList &a)
{  a.length = 0;
printf("初始化完成\n");
}
 int GetLength(SqList &a)
{   return a.length;
 }
int isEmpty(SqList &a)

 return(a.length==0)?1:0; 

int isFull(SqList &a)
{
 return(a.length==20)?1:0;
}
 main()
 {  int b; int x,i,e;
  SqList a;
  do
  { menu();
  printf("请输入命令序号:\n");
  scanf("%d",&b);
  if(b==0) IntList(a);
 else if(b==1) jian(a);
  else if(b==2) DisList(a);
   else if(b==3) GetElem(a,i,e);
   else if(b==4) InsElem(a,i,x);
    else if(b==5)DelEiem(a,i);
    else if(b==6)DestoryList(a);
    else if(b==7) printf("%d\n",GetLength(a));
 }while(b!=8); 
 }    为何调用 isEmpty(a)会出错  求解


文章评论,共1条
Avatar
1楼: 程序猿新手 发表于 2019-04-29 19:45   回复
要先声明在调用
游客请输入验证码
浏览222次
文章分类
文章归档
阅读排行