zoukankan      html  css  js  c++  java
  • 数据结构线性表操作-动态数组生成

    #include <iostream>
    #include <stdlib.h>
    #define MAXSIZE 5
    using namespace std;
    typedef struct
    {
    	char *elem;    //储存空间基地址
    	int length;    //当前长度
    }SqList;
    
    //初始化顺序表
    int InitList(SqList *L)
    {
    	
    	L->elem=new char[MAXSIZE];
    	if(!L->elem) exit(OVERFLOW);
    	L->length=4;
    	return L->length;
    }
    //插入数据
    void ListInsert(SqList *L)
    {
    	
    
    	cout<<"请输入字符:";
    	for(int i=0;i<4;i++)
    	{
    		cin>>L->elem[i];
    	}
    
    }
    //打印表中数据
    void print(SqList *L,int Length)
    {
    	int i;
    	cout<<"顺序表L中数据有:";
    	for(i=0;i<Length;i++)
    	{
    		cout<<L->elem[i]<<" ";
    	}
    	cout<<endl;
    }
    //打印4-6的要求
    void f_s(SqList *L)
    {
    	cout<<"顺序表L长度为:"<<4<<endl;
    	cout<<"表中第三个元素为:"<<L->elem[2]<<endl;
    
    	int idx;
    	for(int i=0;i<4;i++)
    	{
    		if(L->elem[i]=='a')
    			idx=i;
    	}
    	cout<<"表中元素a的位置为:"<<idx+1<<endl;
    }
    //插入字符
    void add(SqList *L,int Length)
    {
    	char temp;
    	cout<<"请输入你要插入的字符:";
    	cin>>temp;
    	
    	L->elem[4]=L->elem[3];       //在结尾处插入字符
    	L->elem[3]=temp;
    	print(L,Length+1);           //链表长度加1
    	
    }
    
    //删除数据
    void ListDelete(SqList *L,int Length)
    {
    	int i;
    	cout<<"请问删除表中第几个元素"<<endl;
    	cin>>i;
    
    	while(i<Length)
    	{
    		L->elem[i-1]=L->elem[i];   //将删除后面的数据放入删除位置
    		i++;
    	}
    	Length--;    //表长度减一
    	print(L,Length);
    }
    
    void main()
    {
    
    	SqList *L=new SqList;
    
    	//初始化顺序表
    	int Length=InitList(L);
    
    	//插入数据
    	ListInsert(L);
    
    	//打印表L中数据
    	print(L,Length);
    
    	f_s(L);
    
    	//增加表L中数据
    	add(L,Length);
    	
    	//删除表L中数据
    	ListDelete(L,Length+1);
    
    	system("pause");
    
    }
    

      

  • 相关阅读:
    常见消息引擎系统对比
    kafka(一)入门
    pycharm工具的使用
    VMware下安装Ubantu 18.04
    VMware虚拟机下Ubuntu安装VMware Tools详解
    python--or 和 and 表达式
    django使用缓存之drf-extensions
    数据结构--线性表之链表
    Redis配置主从时报错“Could not connect to Redis at 192.168.0.50:6379: Connection refused not connected>”
    Rsync+sersync(inotify)实现数据实时双向同步
  • 原文地址:https://www.cnblogs.com/huxiaobai/p/10571018.html
Copyright © 2011-2022 走看看