首页 > 其他分享 >有关数据结构线性结构(线性表、栈、队列)的创销增删改查

有关数据结构线性结构(线性表、栈、队列)的创销增删改查

时间:2024-10-14 09:46:12浏览次数:7  
标签:return 线性表 int ElemType 改查 length 创销 data LNode

#include<stdio.h>
#include<iostream>
#include<stdlib.h>
#define MaxSize 50
typedef int ElemType;
//1.静态顺序存储
typedef struct{
    ElemType data[MaxSize];
    int length;
}SqList;
//1.1插入操作
bool ListInsert(SqList &L,int i,ElemType e){
    //判断i的范围是否有效
    if(i<1||i>L.length+1){
        return false;
    }
    //当前存储空间已满,不能插入
    if(L.length>=MaxSize){
        return false;
    }
    //第i个元素及以后的元素后移
    for(int j=L.length;j>=i;j++){
        L.data[j]=L.data[j-1];
    }
    //在位置i放入e
    L.data[i-1]=e;
    //线性表长度加1
    L.length++;
    return true;
}
//1.2删除操作
bool ListDelete(SqList &L,int i,ElemType &e){
    if(i<1||i>L.length){
        return false;
    }
    //将被删除的元素赋值给e
    e=L.data[i-1];
    //将第i个位置之后的元素前移
    for(int j=i;j<L.length;j++){
        L.data[j-1]=L.data[j];
    }
    L.length--;
    return true;
}
//1.3逆转顺序表中的所有元素
void Reverse(int A[],int n){
    int t;
    for(int i=0;i<n/2;i++){
        t=A[i];
        A[i]=A[n-i-1];
        A[n-i-1]=t;
    }
}
//2.单链表
typedef struct LNode{
    ElemType data;
    struct LNode *next;
}LNode,*LinkList;
//2.1头插法
LinkList CreatList1(LinkList &L){
    //辅助指针
    LNode *s;
    int x;
    //创建头结点
    L=(LinkList)malloc(sizeof(LNode));
    //初始为空链表
    L->next=NULL;
    //输入节点的值
    scanf("%d",&x);
    while(x!=9999){
        //创建新的节点
        s=(LNode*)malloc(sizeof(LNode));
        //将新的节点s插入表中,L为头指针
        s->data=x;
 

标签:return,线性表,int,ElemType,改查,length,创销,data,LNode
From: https://blog.csdn.net/breaking_lxt/article/details/142910137

相关文章

  • MySQL 表的增删改查、表约束
    本篇博客主要用来记录和分享本人学习MySQL数据库的基本操作指令的笔记和心得,包括数据表操作、数据管理、数据类型的讲解以及表的约束。通过实际的示例和注意事项,帮助大家更好地理解和应用这些知识。一、数据表操作指令1.1创建数据表使用CREATETABLE指令可以创建一个新的数......
  • express的使用笔记 2 请求对象与响应对象 、 增删改查demo
    Express不对Node.js已有的特性进行二次抽象,只是在它之上扩展了web应用所需的基本功能。内部使用的依旧是http模块,请求对象继承字http.IncomingMessage,响应对象继承自http.ServerResponse,所以node.js官网中的对应的方法可以通用1.请求对象2.响应对象除了response.send(),resp......
  • C# SqlSugar增删改查
     staticvoidMain(string[]args){ConnectionConfigconnectionConfig=newConnectionConfig(){DbType=DbType.SqlServer,ConnectionString="Server=.;InitialCatalog=Test;User......
  • Python操作SQLServer数据库增删改查
    #coding:utf-8importpymssqldeffn_query(cursor):#查询sql='SELECT*fromTest'cursor.execute(sql)row=cursor.fetchone()whilerow:print(row)row=cursor.fetchone()deffn_insert(cursor):#......
  • 最基本必会的增删改查
    本文详细介绍了SQL中的四大基本操作:INSERT用于数据插入,DELETE用于数据删除,UPDATE用于更新数据,SELECT用于查询数据。文中还涵盖了WHERE条件查询,LIKE用于模糊查询,ORDERBY进行排序,LIMIT用于分页查询,以及聚合函数如COUNT(),SUM(),AVG()和MAX()。这些是数据库管理的基础知识,对于数据库......
  • 【数据结构与算法】线性表
    文章目录一.什么是线性表?二.线性表如何存储?三.线性表的类型我们知道从应用中抽象出共性的逻辑结构和基本操作就是抽象数据类型,然后实现其存储结构和基本操作。下面我们依然按这个思路来认识线性表一.什么是线性表?定义线性表(LinearList)是由n(n>=0)个具有相同特性......
  • 修改thinkphp的主页面,连接数据库,实现增删改查
    在ThinkPHP框架中实现一个基本的CRUD(创建、读取、更新、删除)操作通常涉及以下几个步骤:1.创建模型(Model)首先,你需要为你的数据表创建一个模型。假设我们有一个名为 User 的表。bash phpthinkmake:modelUser这会在 app\model 目录下生成 User.php 文件。2......
  • MySQL 的增删改查
    MySQL的增删改查1.CRUD注释:在SQL中可以使用“--空格+描述”来表示注释说明CRUD即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。createtablestudent(idint,namevarchar(20));1.1新增语法:insert[into]table_name[column]v......
  • Connector C++ 连接 MySQL 数据库之增删改查
    在vcpkg中折腾了mysql-connector-cpp8.0很久,一直连接不上远程数据库,后面查官方文档,mysql-connector-cpp8.0好像只支持MySQL8.0以上的数据库,本来想把远程服务器上的MySQL升级到MySQL8.0,后面发现测试服务器的配置有点拉跨,架不住MySQL8.0,但是vcpkg中又没有mysql-c......
  • nodejs koa 用knex.js链接mysql数据库,进行数据增删改查
    1、knex.js安装npminstallknex官方Installation|Knex.js中文文档|Knex.js中文网2、进行数据库链接constknex=require('knex')({client:'mysql2',connection:{host:'127.0.0.1',//地址user:'root',//账号......