顺序表的基本方法实现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语言实现顺序表(顺序存储结构)
顺序表(顺序存储结构)及初始化过程详解 顺序表,全名顺序存储结构,是线性表的一种.通过<线性表>一节的学习我们知道,线性表用于存储逻辑关系为"一对一"的数据,顺序表自然 ...
随机推荐
- Python 字符串内置函数(四)
# 4.类型判断# isalnum()函数检测字符串是否只由字母和数字组成.s = "this2009"; # 字符中没有空格print(s.isalnum()) # 结果:Tru ...
- 单词数(hdu2072)
这道题用到了(STL初步)集合:Set 的知识点.同时,也用到了stringstream 的知识点,还用到了getline(cin,line)的知识点. #include<iostream> ...
- IO字节流与字符流的操作
字节流: FileInputStream读取,FileOutputStream输出 字节流使用数组缓冲区复制文件,最后得出所使用的时间 public class work2 { publ ...
- mysql Invalid use of group function的解决办法
错误语句:SELECT s.SID, s.Sname, AVG(a.score)FROM student sLEFT JOIN sc a ON s.SID = a.SID WHERE AVG(a.sc ...
- APP元素定位和操作
webdriver 提供了八种元素定位方法: 在 Python 语言中对应的定位方法如下:find_element_by_id()find_element_by_name()find_element_ ...
- [安卓基础]011存储数据(中)——sqlite语法介绍
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- Chisel3 - 模块
https://mp.weixin.qq.com/s/2vjM-gcauvHnn6KJzlOm4g Chisel的模块和Verilog的模块很相似,都用来定义模块结构(hierarchical s ...
- [leetcode] 动态规划(Ⅰ)
这次按通过率从高到低刷题. 本文完成的题目:{338, 1025, 303, 121, 53, 392, 70, 746, 198} ,带有「面试」Tag 的题目:Interview - {1617, ...
- Shell脚本 (三) 条件判断 与 流程控制
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 六.条件判断 1.基本语法 [ condition ](注意condition 前后要有空格) 注意:条 ...
- Java实现 LeetCode 275 H指数 II
275. H指数 II 给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照升序排列.编写一个方法,计算出研究者的 h 指数. h 指数的定义: "h 代表"高 ...