主题:一个关于在顺序表里删除问题的问题
// sqlist_del_x_to_y.cpp : Defines the entry point for the console application.
//程序功能:有一个顺序表,将里面为x到y之间的字符删掉
//程序没有语法错误,但是仍然存在问题,帮我看看,谢哦![em2][em2][em2]
#include "stdafx.h"
#include "stdio.h"
#include "malloc.h"
#define MaxLen 50
typedef struct{
char *data;
int len;
}Sqlist;
void InitSqlist(Sqlist &L)
{ //对顺序表进行初始化
L.len=0;
}
int InsSqlist(Sqlist &L,int i,char ch)
{ //在表里插入元素
int k;
L.data=(char *)malloc(sizeof(char));
if(i<0||i>L.len)return -1;
for(k=L.len;k>=i;k--) L.data[k]=L.data[k-1];
L.data[i-1]=ch;
return 1;
}
void main(Sqlist &A,char x,char y)
{
int i=0,k=0,t,j;
InitSqlist(*&A);
for(j=0;j<20;j++)InsSqlist(*&A,j,j*2);
printf("输入x,y:\nx=");
scanf("%c",&x);
printf("y=");
scanf("%c\n",&y);
while(i<A.len)
{
if(A.data[i]>x&&A.data[i]<y)
A.data[i-k]=A.data[i];
else
k++;
i++;
}
A.len=A.len-k;
printf("顺序表为:\n");
for(t=0;t<A.len;t++)
printf("%c",A.data[t]);
printf("\n长度为%d\n",A.len);
}
//程序功能:有一个顺序表,将里面为x到y之间的字符删掉
//程序没有语法错误,但是仍然存在问题,帮我看看,谢哦![em2][em2][em2]
#include "stdafx.h"
#include "stdio.h"
#include "malloc.h"
#define MaxLen 50
typedef struct{
char *data;
int len;
}Sqlist;
void InitSqlist(Sqlist &L)
{ //对顺序表进行初始化
L.len=0;
}
int InsSqlist(Sqlist &L,int i,char ch)
{ //在表里插入元素
int k;
L.data=(char *)malloc(sizeof(char));
if(i<0||i>L.len)return -1;
for(k=L.len;k>=i;k--) L.data[k]=L.data[k-1];
L.data[i-1]=ch;
return 1;
}
void main(Sqlist &A,char x,char y)
{
int i=0,k=0,t,j;
InitSqlist(*&A);
for(j=0;j<20;j++)InsSqlist(*&A,j,j*2);
printf("输入x,y:\nx=");
scanf("%c",&x);
printf("y=");
scanf("%c\n",&y);
while(i<A.len)
{
if(A.data[i]>x&&A.data[i]<y)
A.data[i-k]=A.data[i];
else
k++;
i++;
}
A.len=A.len-k;
printf("顺序表为:\n");
for(t=0;t<A.len;t++)
printf("%c",A.data[t]);
printf("\n长度为%d\n",A.len);
}