⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xianxingbiao.c

📁 线性表的简单操作
💻 C
字号:
#include "stdio.h"
#include "stdlib.h"
#define LIST_INIT_SIZE 100
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int Status;
typedef int ElemType;
typedef struct
{
        ElemType *elem;
        int length;
		int listsize;

}sqlist;

Status inslist(sqlist *L,int n)
    {
         int m,*q,*p;
         if(n>L->length+1||n<1)
           return ERROR;
         printf("请输入想要插入的元素:");

         scanf("%d",&m);
		 p=&(L->elem[n-1]);
		 
         for(q=&(L->elem[L->length-1]);q>=p;--q)
          *(q+1)=*q;
         
           L->elem[n-1]=m;
           ++L->length;
         printf("新表的元素 :\n");
         for(m=0;m<L->length;m++)
         printf("%d   ",L->elem[m]);
		 printf("\n新增加的元素:  %d",L->elem[n-1]);
		 printf("\n表长是:%d,  容量是:%d\n",L->length,L->listsize);
}
		  Status dellist(sqlist *L)
    {
         int i,*p,*q;
         printf("\n请输入要删除的元素位置:");
         scanf("%d",&i);
         if(i>L->length||i<1)
           return ERROR;
              q=&(L->elem[i-1]);
			  p=&(L->elem[L->length-1]);
			  printf("新要删除的元素为:%d\n",L->elem[i-1]);
         for(++q;q<=p;++q)
            *(q-1)=*q;
           --L->length;
         printf("新表的元素:\n");
         for(i=0;i<L->length;i++)
         printf("%d   ",L->elem[i]);
		 
		 	 printf("\n表长是:%d,  容量是:%d",L->length,L->listsize);
           return OK;
    }

 Status crelist(sqlist *L,int n)
    {    
         int m;
		 printf("请输入元素:\n");
         for(m=0;m<n;m++)
         scanf("%d",&L->elem[m]);
         for(m=0;m<n;m++)
         printf("%d   ",L->elem[m]);
         return OK;}

 
main()
{int i,m;
sqlist *L,a;
L=&a;
L->elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));
if(!L->elem)exit(OVERFLOW);
L->length=0;
L->listsize=LIST_INIT_SIZE;
printf("请输入元素个数:");
scanf("%d",&m);
if(m>L->listsize)
return 0;
L->length=m;
crelist(L,m);
printf("\n请输入要插入的元素位置:");
scanf("%d",&m);
inslist(L,m);
dellist(L,i);
printf("\n");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -