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

📄 插入(顺序存储).cpp

📁 数据结构实验--实现链表的插入与删除(源码
💻 CPP
字号:
/*	实验内容
2.线性表v的数据递增有序,试将x插入表中并保持有序性
   (1)顺序表表示
*/
#include "stdio.h"
#include"malloc.h"
#define MAXSIZE 20
typedef  int elemtype;
typedef  struct
   {  elemtype data[MAXSIZE];//存放顺序表元素
      int length;//存放顺序表的长度
   } LNode;//顺序表的定义类型
void   creat(LNode *L)//创建顺序链表
{  int i,n,j=0;
  // int  c[100];
   printf("请问,你想输几个数:");
   scanf("%d",&n);
   L->length=n;
   printf("请输入%d个数:",n);
  /* for(i=0;i<100;i++)
   {
	scanf("%d",&L->data[i]);
    j++;//用来记录输入数据的个数
    c[i]=getchar();//输入的数存放在c中
	if (c[i]=='\n')
	{
       break;
	}
	else if(c[i]=='$')
	{
		j--;
		break;
	}*/
   for(i=0;i<n;i++)
   scanf("%d",&L->data[i]);
  // if(j>n) 
  // printf("你输入的数大于你想要输入数的个数,请重新输入");
  // else
   //{
   printf("你输入%d个数据为:",n);
   for(i=0;i<n;i++)
      printf("%d ",L->data[i]);
   printf("\n");
   getchar();
   //}
}
int Insert(LNode *L,int i,int x)//在链表L的i位置插入值x
{  int j;
     if(i<0||i>L->length+1)
	 { printf("输入的位置值有误\n");
          return 0; 
	 }
     if(L->length+1>=MAXSIZE)
	 { printf("溢出错误!");
           return 0; 
	 }  
     for(j=L->length;j>=i;j--)
    	L->data[j]=L->data[j-1];//将data【i】及其后面的元素后移一个位置
	    i=i-1;
        L->data[i]=x;//将x插入
	    L->length++; //顺序表长度增1    
     return 1; 
	 
}
int deletelist( LNode *L,int i)//删除第i个位置
{
	if(i<0 ||i>L->length)
    {  printf("位置不存在!\n");
       return 0; 
	}
   for(;i<L->length;i++)
    L->data[i-1]=L->data[i];//将data【i】之后的元素前移一个位置
    L->length--;//顺序表长度减1
    return 1;
}
void print(LNode *L)//输出链表
 { int i;
   for(i=0;i<L->length;i++)
     printf("%5d",L->data[i]);
   printf("\n");
   getchar();
 }
void main()
{ LNode *L;
  int i,x;
  //clrscr();
  L=(LNode *)malloc(sizeof(LNode));
  creat(L);
  printf("请输入插入的位置和值(中间按间隔隔开):\n");
  scanf("%d %d",&i,&x);
  Insert(L,i,x);
  printf("插入后的链表为:");
  print(L);
  printf("请输入想删除的位置 :");
  scanf("%d",&i);
  deletelist(L,i);
  printf("删除后的链表为:");
  print(L);
}

⌨️ 快捷键说明

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