053.顺序表插入和删除

简介: 053.顺序表插入和删除
#define ListSize 100/* 假定表空间大小为100 */
#include <stdio.h>
#include <stdlib.h>
void Error(char * message)
{
printf("错误:%s\n",message);
exit(1);
}/* 从0开始计, 表空间大小应为101了 */
struct Seqlist{
int  data[ListSize];/* 向量data用于存放表结点 */
int length; /*  当前的表长度 */
};
/* 以上为定义表结构 */
/* ------------以下为两个主要算法---------- */
void InsertList(struct Seqlist *L, int x, int i)
{
/* 将新结点x插入L所指的顺序表的第i个结点ai的位置上 */
int j;
if ( i < 0 || i > L -> length )
Error("position error");/* 非法位置,退出 */
if ( L->length>=ListSize )
Error("overflow");
 for ( j=L->length-1 ; j >= i ; j --)
L->data[j+1]=L->data [j];
L->data[i]=x ;
L->length++ ;
}
void DeleteList ( struct Seqlist *L, int i )
{/* 从L所指的顺序表中删除第i个结点ai */
int j;
 if ( i< 0 || i > L-> length-1)
Error( " position error" ) ;
 for ( j = i+1 ; j < L-> length ; j++ )
    L->data [ j-1 ]=L->data [ j]; /* 结点前移 */
L-> length-- ; /* 表长减小 */
}
/* ===========以下为验证算法而加======= */
void Initlist(struct Seqlist *L)
{
  L->length=0;
}
void main()
{
   struct Seqlist *SEQA;
   int i;
   SEQA = (struct Seqlist *)malloc(sizeof(struct Seqlist));
   Initlist(SEQA);
   for (i=0;i<ListSize;i++)
   {  
     InsertList (SEQA,i,i);
     printf("%d\n",SEQA->data[i]);
   }
     DeleteList (SEQA,99);
   for (i=0;i<ListSize-1;i++)
   {
  printf("%d\n",SEQA->data[i]);
  }
}
相关文章
|
存储 传感器 物联网
新技术驱动未来:区块链、物联网、虚拟现实的蓬勃发展与创新应用
随着科技的迅猛发展,新兴技术如区块链、物联网、虚拟现实等正成为当今社会关注的焦点。本文将探讨这些新技术的发展趋势和广泛应用场景,展示它们在不同领域中的潜力与创新价值。
|
7月前
|
关系型数据库 MySQL 大数据
大数据新视界--大数据大厂之MySQL 数据库课程设计:MySQL 数据库 SQL 语句调优的进阶策略与实际案例(2-2)
本文延续前篇,深入探讨 MySQL 数据库 SQL 语句调优进阶策略。包括优化索引使用,介绍多种索引类型及避免索引失效等;调整数据库参数,如缓冲池、连接数和日志参数;还有分区表、垂直拆分等其他优化方法。通过实际案例分析展示调优效果。回顾与数据库课程设计相关文章,强调全面认识 MySQL 数据库重要性。为读者提供综合调优指导,确保数据库高效运行。
|
搜索推荐 BI API
ZoomEye-python工具使用详解(一)
ZoomEye-python工具使用详解(一)
352 0
|
XML 数据采集 中间件
中间件API请求处理
【6月更文挑战第14天】
209 5
|
开发工具
|
Web App开发 存储 监控
全网最详细的谷歌插件开发小册📚(2)
使用tabs API chrome.tabs API 允许插件操作浏览器的标签页,例如创建新的标签页,关闭标签页,切换标签页,修改标签页的URL等。以下是一个创建新标签页的示例:
662 1
RAID基本入门资料
RAID基本入门资料
|
存储 JSON Dubbo
花了一星期,自己写了个简单的RPC框架
花了一星期,自己写了个简单的RPC框架
233 0
花了一星期,自己写了个简单的RPC框架
|
监控 安全 前端开发
【DevOps】网站可靠性工程(SRE):DevOps 2.0
【DevOps】网站可靠性工程(SRE):DevOps 2.0