线性表 有点错误 懒得改

#include<stdio.h>
typedef int ElemType;
#define MAXSIZE 1000
#define FALSE 0
#define TRUE 1
typedef struct
{
 ElemType data[MAXSIZE];
 int length;
}SeqList;
SeqList L;

void SeqListInit(SeqList L)//链表初始化
{
 //SeqList L;
 L.length=0;
 //return L;
}
SeqList ListClear(SeqList L)//线性表清零
{
 L.length=0;
 return L;
}
int Listlength(SeqList L)//测线性表长度
{
 return L.length;
}
int ListEmpty(SeqList L)//判空
{
 if(L.length)
  return 1;
 else
  return 0;
}
int ListFull(SeqList L)//线性表判满
{
 if(L.length ==MAXSIZE)
  return TRUE;
 else
  return FALSE;
}
void PrintfList(SeqList L)//输出线性表
{
 int i;
 for(i=1;i<L.length;i++)
  printf("%d ",L.data[i]);
 printf("%d\n",L.data[i]);
}
ElemType ListGet(SeqList L,ElemType n)//取指定元素
{
 return L.data[n];
}
ElemType ListFindSame(SeqList L,ElemType n)//找相同元素
{
 int i;
 for(i=1;i<=L.length;i++)
  if(n==L.data[i])
   return i;
  return i;
}
void ListInsert(SeqList L,int i,ElemType n)//插入元素到指定位置
{
 int j;
 if(i==L.length+1)
  L.data[L.length+1]=n;
 else
 for(j=L.length+1;j>i;j--)
 {
  L.data[j]=L.data[j-1];
  L.data[i]=n;
 }
 L.length++;
}
void ListDele(SeqList L,int i)//删除指定位置元素
{
 int j;
 for(j=i;j<L.length;j++)
  L.data[j]=L.data[j+1];
 L.length--;
}
void main()
{
 ElemType i,n,l;
 
 SeqListInit(L);
 printf("请输入线性表长度:\n");
 scanf("%d",&L.length);
 printf("请输入线性表元素:\n");
 for(i=1;i<=L.length;i++)
 scanf("%d",&L.data[i]);
 printf("1 删除指定位置元素\n2 插入元素到指定位置\n");
 scanf("%d",&n);
 if(n==1)
 {
  printf("请输入须删除元素的位置:");
  scanf("%d",&l);
  ListDele(L,l);
  L.length--;
 }
 else
 {
  printf("请输入需要插入的元素和位置:");
  scanf("%d %d",&i,&l);
  ListInsert(L,l,i);
  L.length++;
 }
 PrintfList(L);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值