注册 登录
编程论坛 数据结构与算法

数据结构帮忙改正

林轩 发布于 2015-10-18 12:37, 1977 次点击
#include"stdio.h"
#define MAXSIZE  50
#define ERROR 0
#define ok 1
typedef char Elemtype;
typedef struct
{
    Elemtype list[MAXSIZE];
    int length;
}sqlist;
void setnull(sqlist *l)
{
    l->length=0;
}
int leng (sqlist *l)
{
    return (l->length);
}
void insert(sqlist *l,Elemtype x,int i)
{
    int j;
    if(i<1||i>l->length+1)
         printf("ERROR");
    else
       {
           l->length++;
           for(j=l->length-1;j>=i;j--)
              l->list[j]=l->list[j-1];
              l->list[j-1]=x;
       }
}
void deletList(sqlist *l,Elemtype *x,int i)
{
    int j;
    *x=l->list[i];
      if (i<1||i>l->length+1)
       printf("错误!");
    else
       {
           
           for(j=l->length-1;j>=i;j--)
              l->list[j]=l->list[j+1];
              l->length--;
        }
        printf("ok!");
}
void output(sqlist *l)
{
    int i;
    for(i=0;i<l->length;i++)
       printf("%c\t",l->list[i]);
}
void main( )
{
    sqlist *l;
    int x,q;
    char p;
    setnull(l);
    insert(l,'a',1);
    insert(l,'b',2);
    insert(l,'c',3);
    output(l);
    printf("请输入要删除的数和位置:");
    scanf("%c\t%d\n",&p,&q);
    deletList(l,&p,q);
    x=leng(l);
    printf("%d",x);
    getch();
}
0 回复
1