#include <stdio.h> #include <malloc.h> #define MAXSIZE 50 typedef char elemtype;typedef struct { elemtype v[MAXSIZE]; int last; }SqList;SqList *Init_SeqList() { SqList L;L=(SqList)malloc(sizeof(SqList));L->last=-1;返回 L;} void Create(SqList L) { int i=0; elemtype ch; scanf(“%c”,&ch); while(ch!='\n') { L->v[i++]=ch; scanf(“%c”,&ch);L->last=i-1;} } void PrintL(SqList L) { int i; printf(“此表为:\n”); for(i=0;i<L->last;i++) { printf(“%c->”,L->v[i]); } printf(“%c\n”,L->v[i]); } void Length(SqList *L) { printf(“此表长度:\n%d”,L->last+1); printf(“\n”); } void Insert(SqList *L,int i,elemtype x) { int j; if(L->last==0) printf(“Error!\n”); if(i<1||i>L->last) printf(“Error!”);for(j=L->last;j>=i-1;j--) L->v[j+1]=L->v[j];L->v[i-1]=x;L->last++;打印L(L);} void Delete(SqList *L,int i) { int j; if(L->last==-1) printf(“Error!”); if(i<1||i>L->last+1) printf(“Error!”);for(j=i;j<=L->last;j++) L->v[j-1]=L->v[j];L->最后--;打印L(L);} void main() { int i,j,k; elemtype a,b;SqList *L;L=Init_SeqList();printf(“建立顺序表:\n”);创建(L);打印L(L);长度(L);printf(“\n”);printf(“请输入你想插入的元素及其位置:\n”);scanf(“%c %d”,&b,&j);插入(L,j,b);printf(“请输入你想删除的位置:\n”);scanf(“%d”,&k);删除(L,k);}在此基础上加入 输入你想查找的元素序位,输出你查找的元素的部分
时间: 2023-06-14 17:06:57 浏览: 127
SeqList.h #include <stdio.h> //包含标准输入输出流的头文件 #include <assert.h
#include <stdio.h>
#include <malloc.h>
#define MAXSIZE 50
typedef char elemtype;
typedef struct {
elemtype v[MAXSIZE];
int last;
} SqList;
SqList *Init_SeqList() {
SqList *L;
L = (SqList*)malloc(sizeof(SqList));
L->last = -1;
return L;
}
void Create(SqList *L) {
int i=0;
elemtype ch;
scanf("%c", &ch);
while(ch != '\n') {
L->v[i++] = ch;
scanf("%c", &ch);
}
L->last = i-1;
}
void PrintL(SqList *L) {
int i;
printf("此表为:\n");
for(i=0; i<L->last; i++) {
printf("%c->", L->v[i]);
}
printf("%c\n", L->v[i]);
}
void Length(SqList *L) {
printf("此表长度:%d", L->last+1);
printf("\n");
}
void Insert(SqList *L, int i, elemtype x) {
int j;
if(L->last == MAXSIZE-1)
printf("Error!\n");
if(i<1 || i>L->last+1)
printf("Error!");
for(j=L->last; j>=i-1; j--)
L->v[j+1] = L->v[j];
L->v[i-1] = x;
L->last++;
PrintL(L);
}
void Delete(SqList *L, int i) {
int j;
if(L->last == -1)
printf("Error!");
if(i<1 || i>L->last+1)
printf("Error!");
for(j=i; j<=L->last; j++)
L->v[j-1] = L->v[j];
L->last--;
PrintL(L);
}
void Search(SqList *L, int i) {
if(i<1 || i>L->last+1)
printf("Error!");
else
printf("查找元素:%c\n", L->v[i-1]);
}
void main() {
int i, j, k;
elemtype a, b;
SqList *L;
L = Init_SeqList();
printf("建立顺序表:\n");
Create(L);
PrintL(L);
Length(L);
printf("\n");
printf("请输入你想插入的元素及其位置:\n");
scanf("%c %d", &b, &j);
Insert(L, j, b);
printf("请输入你想删除的位置:\n");
scanf("%d", &k);
Delete(L, k);
printf("请输入你想查找的元素的序位:\n");
scanf("%d", &i);
Search(L, i);
}
阅读全文