栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

顺序表基本操作

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

顺序表基本操作

.用顺序表实现数据元素是整数的线性表,使其具有如下功能:(1)初始化一个空表
(2)根据指定个数,逐个输入整数;
(3)根据给定的整数值进行查找,查找成功,返回此整数的在表中的位置,查找不成功,则输出查找失败;
(4)根据指定的位置可返回相应的整数;
(5)给定一个整数,插入到表中指定的位置;
(6)删除指定位置的整数;
(7)统计表中整数个数即求表长。
(8)逐个显示整数表中所有的整数;
下面展示一些 内联代码片。

#define MAXSIZE 1000	//整数表可能达到的最大长度 
#define OK 1
#define ERROR 0
#define OVERFLOW -1
typedef int Status;
typedef int ElemType;
#include
#include 
using namespace std;
#include
#include  
typedef struct
{ 
   ElemType *elem;	//指向数据元素的基地址
   int length;		//线性表的当前长度即当前整数的个数 
}SqList;
Status InitList(SqList &L)   //构造一个空的顺序表L
{    
L.elem=new ElemType [MAXSIZE];  //为顺序表分配空间
    if(!L.elem) exit(OVERFLOW);       //存储分配失败
    L.length=0;//空表长度为0
	printf("初始化空表成功!n");
    return OK;
}

Status CreatList(SqList &L)   //根据整数的个数,输入相应的整数值
{
    int n;//要构造的整数表的长度
	int i;//循环变量
	printf("输入要创建的整数个数n");
	scanf("%d",&n); //从键盘上输入n的值

	printf("依次输入整数的值n");
	for(i=0;iL.length+1)   //i值不合法
   {
	   printf("i值不合法n");
	   return ERROR;	
   }       
   if(L.length==MAXSIZE) //当前存储空间已满 
   {
	   printf("存储空间已满!n");
	   return ERROR; 
   }    
   for(j=L.length-1;j>=i-1;j--) 
       L.elem[j+1]=L.elem[j];    //插入位置及之后的元素后移
    L.elem[i-1]=e;                     //将新元素e放入第i个位置
  ++L.length;		     	//表长增1
  return OK;
}
Status ListDelete(SqList &L,int i) //将顺序表L中第i个数据元素删除

{ 
   int j;
   if((i<1)||(i>L.length)) return ERROR;	 //i值不合法
   for (j=i;j<=L.length-1;j++)                   
      L.elem[j-1]=L.elem[j];       //被删除元素之后的元素前移  
      --L.length;               	      //表长减1
  return OK;
}
int GetLength(SqList L)
{
   return (L.length);             
}
void Print_Sq(SqList L)  //输出顺序表
{
	int i;
	printf("该顺序表中各整数为n");
	for(i=0;i 

这个只是参考哈,和题目不完全一样,可以参照我的单链表改,在我博客里面哈!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/289967.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号