#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define maxsize 100

typedef struct {
 char elem[100][50];
 int len;}data;
 
void insertlist(data *L,int i,char *s)
{
 int j;
 if(i>=1&&i<=L->len+1)
 {
 for(j=L->len-1;j>=i-1;j--)
 strcpy(L->elem[j+1],L->elem[j]);

 strcpy(L->elem[i-1],s);
 
 L->len++;
 }
}

int getlist(data *L,char *s)
{
 int i;
 for(i=0;i<L->len;i++)
 {
  if(strcmp(L->elem[i],s)==0)
  break;
 }
 return i+1;
}

void deletelist(data *L,char *s)
{
 int j,i;

 i=getlist(L,s);

 for(j=i;j<L->len;j++)
 strcpy(L->elem[j-1],L->elem[j]);

 L->len--;
}

void outlist(data *L)
{
 int i;
 for(i=0;i<L->len;i++)
 printf("%s ",L->elem[i]);
 putchar('\n');
}

int main()
{
 data *L;
 char ch[200],s[200];
 int n;
 L=(data *)malloc(sizeof(data));
 L->len=0;

    while(scanf("%s",ch)!=EOF)
 {
  if(strcmp(ch,"insert")==0)
  {
   scanf("%d %s",&n,s);
   insertlist(L,n,s);
  }

  else if(strcmp(ch,"delete")==0)
  {
   scanf("%s",s);
   deletelist(L,s);
  }

  else if(strcmp(ch,"search")==0)
  {
   scanf("%s",s);
   printf("%d\n",getlist(L,s));
  }

  else if(strcmp(ch,"show")==0)
  {
   outlist(L);
  }

 }
 
   
 return 0;
}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论