顺序表的基本方法实现C语言版
顺序表--------------线性表的第一个儿子
这个儿子的结构体定义:
typedef int ElemType;//取别名 typedef struct link{
ElemType * head;//head是一个数组指针,不太清楚的同学,可以百度一下
ElemType length;
ElemType size;
}sqlink;//取别名
顺序表的初始化:
#include<stdio.h>
#include<stdlib.h> #define MAX_SIZE 20 typedef int ElemType; typedef struct link{
ElemType * head;
ElemType length;
ElemType size;
}sqlink; sqlink InitLink();//方法声明
int main(){
sqlink s;
s = InitLink();
for(int i = ; i < ; i++){
s.head[i] = i;
}
printf("%d",s.head[]);
} sqlink InitLink(){//方法实现
sqlink s;
s.head = (ElemType*)malloc(MAX_SIZE*sizeof(ElemType));//在内存中动态创建
if(!s.head)//如果创建不成功,就退出
exit();
s.length = ;
s.size = MAX_SIZE;
return s;
}
顺序表的插入:
#include<stdio.h>
#include<stdlib.h> #define MAX_SIZE 20 typedef int ElemType; typedef struct link{
ElemType * head;
ElemType length;
ElemType size;
}sqlink; sqlink InitLink();//方法声明
sqlink InsertLink(sqlink s ,int i , ElemType e);
int main(){
sqlink s;
s = InitLink();
for(int i = ; i < ; i++){
s.head[i] = i;
}
printf("%d\n",s.head[]);
s = InsertLink(s,,);
printf("%d\n",s.head[]);
printf("%d\n",s.head[]);
} sqlink InitLink(){//方法实现
sqlink s;
s.head = (ElemType*)malloc(MAX_SIZE*sizeof(ElemType));
if(!s.head)
exit();
s.length = ;
s.size = MAX_SIZE;
return s;
}
sqlink InsertLink(sqlink s ,int i , ElemType e){
if(i< && i>MAX_SIZE+)
exit();
if(s.length == MAX_SIZE)
exit();
for(int j = s.length-;j >= i-;j--){
s.head[j+] = s.head[j] ;
}
s.head[i-] = e;
return s; }
剩下的过两天再写,如果有不懂的地方,可以留言!
顺序表的基本方法实现C语言版的更多相关文章
- 五种编程语言解释数据结构与算法——顺序表1(理论与C语言实现)
1.线性表的分类 2.线性表的定义及其基本操作 2.1.定义:线性表是具有相同类型的n(n>=0)个元素的有序序列,其中n为表长,当n=0时,该表为空表. 2.3.线性表的逻辑结构为: 2.4. ...
- 五种编程语言解释数据结构与算法——顺序表3(JavaScript与Python语言实现)
7.JavaScript语言实现 7.1.用ES6语法编写顺序表类 //1.创建类 class MyList { //1. initList(&L):初始化表.构造一个空的线性表.放回值应该是 ...
- 空顺序表的实现(基于c语言)
书中对于创建一个空线性表的定义如下: struct SeqList{ int MAXNUM; // 顺序表中最大元素的个数(也就是最多多少个元素),(其实MAXNUM也可以定义在外面) int n; ...
- 顺序表的静态存储(C语言实现)
顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构. 1.顺序表的结构体声明 #define MAX_SIZE 5 //定义数组的大小 typed ...
- 五种编程语言解释数据结构与算法——顺序表2(java与C++语言实现)
5.java实现方式: 5.1.顺序表的抽象结构 package com.xgp.顺序表; public interface MyList<T> { //1. initList(& ...
- 线性表的链式存储C语言版
#include <stdio.h> #include <malloc.h> #define N 10 typedef struct Node { int data; stru ...
- 【数据结构】之顺序表(Java语言描述)
之前总结过使用C语言描述的顺序表数据结构.在C语言类库中没有为我们提供顺序表的数据结构,因此我们需要自己手写,详细的有关顺序表的数据结构描述和C语言代码请见[我的这篇文章]. 在Java语言的JDK中 ...
- 数据结构4:顺序表(线性表的顺序存储结构)及C语言实现
逻辑结构上呈线性分布的数据元素在实际的物理存储结构中也同样相互之间紧挨着,这种存储结构称为线性表的顺序存储结构. 也就是说,逻辑上具有线性关系的数据按照前后的次序全部存储在一整块连续的内存空间中,之间 ...
- C语言实现顺序表(顺序存储结构)
顺序表(顺序存储结构)及初始化过程详解 顺序表,全名顺序存储结构,是线性表的一种.通过<线性表>一节的学习我们知道,线性表用于存储逻辑关系为"一对一"的数据,顺序表自然 ...
随机推荐
- 关于php中数据提交到当前页面action的问题
关于php中数据提交到当前页面action的问题 2011-06-21 17:45杨超★杰伦 | 分类:PHP | 浏览695次 php中数据提交到当前页面,有人action=“<?php ec ...
- 王艳 201771010127《面向对象程序设计(java)》第十一周学习总结
一:理论部分. 1.数据结构:分为a.线性数据结构,如线性表.栈.队列.串.数组和文件. b.非线性数据结构,如树和图. 1)所有数据元素在同一个线性表中必须是相同的数据类型. 线性表按其存储结构可分 ...
- poj3687拓扑排序
Labeling Balls Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14749 Accepted: 4325 D ...
- Poj2586 每五个月都是亏
题目大意: MS公司(我猜是微软)遇到了千年虫的问题,导致数据大量数据丢失.比如财务报表.现在知道这个奇特的公司每个月不是盈利就是亏损(废话),而且无论是盈利和亏损都有一个定值(亏少了它还不干).经过 ...
- PHP实现插入100万条数据优化
第一种方法一条一条执行插入,结果会很慢 <?php header("Content-Type:text/html;charset=utf-8"); date_default_ ...
- sql语句中的删除操作
drop: drop table tb; 删除内容和定义,释放空间.简单来说就是把整个表去掉.以后不能再新增数据,除非新增一个表. truncate: truncate table tb; 删除内容. ...
- 容器技术之Docker常用命令说明
前面我们聊了docker的基本概念.架构.镜像.网络.数据卷,回顾请参考https://www.cnblogs.com/qiuhom-1874/category/1766327.html:今天这篇博客 ...
- Matlab矩阵学习三 矩阵的运算
Matlab矩阵的运算 一.矩阵的加减 在matlab中,矩阵的加减和数的加减符号一样,都是"+"和”-“,不同的是两个进行运算的矩阵维度必须相同 二.数乘 三.乘法 矩阵乘法 ...
- ES6-json与字符串的转换
1.ES5下的json 1.1 基本概念 是对象 简写形式,名字跟值(key和value)一样,留一个就行 方法 :function一块删 即show:function(){...}等价于show() ...
- 【Java面试必备JVM】JVM看这篇就够了
链接–>JVM