数据结构之顺序表(一)

有关顺序表,由于代码太长,我将分成2部分,这边是头文件SeqList.h和主函数:

#ifndef __SEQLIST_H__
#define __SEQLIST_H__#define FALSE   -1
#define TRUE     0#define INIT_SIZE   100
#define INCRESS_SIZE 20typedef int SeqData;//顺序表结构
typedef struct _seqList
{SeqData *list;      //指向存储空间的指针int max_len;        //保存存储空间的最大长度int len;            //保存当前使用的长度
}SeqList;//创建顺序表
SeqList * Create_List();//销毁顺序表
void Destroy(SeqList *s);//插入数据:尾插法
int Insert_Last(SeqList *s, SeqData data);//插入数据: 头插法
int Insert_Head(SeqList *s, SeqData data);//插入数据:在下表为 pos 的位置插入数据
int Insert_Pos(SeqList *s, int pos, SeqData data);int GetData(SeqList *s, int pos, SeqData *x);//查找元素,如果找到,将该元素的下表给x
int FindData(SeqList *s, SeqData data, SeqData *x);//删除 pos 下标的元素
int Delete_Pos(SeqList *s, int pos);//删除指定数据
int Delete_Data(SeqList *s, SeqData data);//逆序
int Reverse_List(SeqList *s);//将两个顺序表合并成一张顺序表
//前提:两张表都是排好序表
//合并后的表要求是从小到大排列,函数返回新表的指针
SeqList * Merge_List(SeqList *s1, SeqList *s2);void Display(SeqList *s);#endif
#include <stdio.h>
#include "SeqList.h"int main1()
{//创建顺序表SeqList *s = Create_List();if (NULL == s){printf ("创建失败\n");return -1;}printf ("创建成功\n");//插入数据int i;for (i = 0; i < 20; i++){Insert_Last(s, i);}
#if 0   for (i = 0; i < 20; i++){Insert_Head(s, i);}if (Insert_Pos(s, s->len, 1000) == FALSE){printf ("插入失败");}Display(s);SeqData data;GetData(s, 5, &data);printf ("%d\n", data);int index;if (FindData(s, 100, &index) == FALSE){printf ("没有该元素\n");}else{printf ("index = %d\n", index);}if (Delete_pos(s, 5) == FALSE){printf ("删除失败\n");}if (Delete_Data(s, 15) == FALSE){printf ("删除失败\n");}
#endif//Reverse_List(s);Display(s);Destroy(s);s = NULL;printf ("销毁成功\n");return 0;
}int main()
{//创建顺序表SeqList* s1 = Create_List();if (NULL == s1){printf ("创建失败\n");return -1;}SeqList* s2 = Create_List();if (NULL == s2){printf ("创建失败\n");return -1;}int i;for (i = 0; i < 20; i += 2){Insert_Last(s1, i);}for (i = 1; i < 40; i += 2){Insert_Last(s2, i);}SeqList* s3 = Merge_List(s1, s2);printf ("s1: \n");Display(s1);printf ("s2: \n");Display(s2);printf ("s3: \n");Display(s3);return 0;}

已经好几天没写博客了,之前也没啥好写的,今天学了点关于顺序表的知识,好像是我目前遇到的最多最长的代码了。初次接触,正在消化理解吸收。
运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448566.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科目三考试指南

正在准备科目三的您&#xff0c;对顺利通过考试有信心吗&#xff1f;今天&#xff0c;小编为大家带来科目三靠边停车技巧&#xff0c;通过讲解靠边停车考试要求&#xff0c;让学员更好地掌握相关技巧&#xff0c;希望能帮到大家。 靠边停车考试项目中规定&#xff0c;车前保险杠…

docker学习4-docker安装mysql环境

前言 docker安装mysql环境非常方便&#xff0c;简单的几步操作就可以了 拉取mysql镜像 先拉取mysql的镜像&#xff0c;可以在docker的镜像仓库找到不同TAG标签的版本https://hub.docker.com/_/mysql?tabtags 我这里选择mysql:5.7标签 [rootyoyo ~]# docker pull mysql:5.7 5.7…

Dynamics CRM 2015 站点地图公告配置实体显示名称的变更

CRM更新2015后&#xff0c;在设置里找不到公告配置了 在原来的位置上你会东西一个叫活动源配置的东西&#xff0c;点开看后就是原来的公告配置。 版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 转载于:https://www.cnblogs.com/VicTang/p/4799531…

漫谈微服务架构:什么是Spring Cloud,为何要选择Spring Cloud

Spring Cloud是基于Spring Boot的&#xff0c;因此还在使用SpringMVC的同学要先了解Spring Boot。先上一段官话&#xff0c;Spring Cloud是一个基于Spring Boot实现的云应用开发工具&#xff0c;它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、…

打印python包含汉字报SyntaxError: Non-ASCII character '\xe4' in file

因为本人主要使用Scala语言&#xff0c;但是之前同事包括老大都是使用python&#xff0c;加上python在spark的使用中的确越来越受欢迎&#xff0c;所以最近准备入坑python&#xff0c;但是装完写demo的时候出了问题&#xff0c;如下&#xff1a; 查了下发现&#xff0c;这是pyt…

Node.js 多版本安装配置(Window、Ubuntu 、CentOS 、Mac OS、Cloud Studio)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 向大家介绍在window和Linux上安装Node.js的方法。 本安装教程以Node.js v4.4.3 LTS(长期支持版本)版本为例。 Node.js安装包及源码下载…

cookie ? 利用cookie实现 显示上次访问时间?

二、 <%page import"java.text.SimpleDateFormat"%> <%page import"java.util.Date"%> <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%> <!DOCTYPE html PUBLIC &…

C语言实现简单的电子通讯录

**制作一个电子通讯录&#xff0c;通过该通讯录能录入好友ID号、姓名(英文)、手 机号码&#xff0c;家庭住址&#xff0c;公司电话。** 原理&#xff1a;分成5个模块&#xff0c;将模块功能实现写入头文件中。主函数部分代码&#xff1a; 显示函数部分&#xff0c;在Markdow…

结构体的传参理解成员的存储方式

结构体的成员变量在内存中存储的方式&#xff0c;决定于设定的内存对齐方式是几字节&#xff1a;gcc编译默认使用4字节对齐&#xff1a; 1 #include <stdio.h>2 3 typedef struct test_buf4 {5 int a;6 char c;7 char buf[8];8 char *str;9 10 }buf…

eclipse插件大全整理学习

Eclipse Web Tools Platform(WTP) 地址&#xff1a;http://download.eclipse.org/webtools/ WTP十分强大&#xff0c;支持HTML, JavaScript, XML, JSP&#xff0c;支持语法着色&#xff0c;代码提示&#xff0c;代码折叠等&#xff0c;以及其它一堆JavaEE相关的功能。Web开发必…

网友力荐教子名言 只有50句却能改变儿女一生

从当今的家庭来看&#xff0c;大多数的家长把自己的一切希望寄托在孩子的身上&#xff0c;这个〝望子成龙〞或〝盼女成凤〞的希望能否成为现实&#xff0c;需要多方面的努力&#xff0c;而家庭是孩子的第一所〝学校〞&#xff0c; 父母是孩子的第一位〝老师〞&#xff0c;家庭…

Python-02-基础知识

一、第一个Python程序 【第一步】新建一个hello.txt 【第二步】将后缀名txt改为py 【第三步】使用记事本编辑该文件 【第四步】在cmd中运行该文件 print("Hello World!") 强调&#xff1a;python解释器执行程序是解释执行&#xff0c;即打开文件读内容&#xff0c;因…

利用FS寄存器获取KERNEL32.DLL基址算法的证明(ZZ)

转自&#xff1a;http://blog.csdn.net/int2e/archive/2008/01/09/2032732.aspxFS寄存器指向当前活动线程的TEB结构&#xff08;线程结构&#xff09; 偏移 说明 000 指向SEH链指针 004 线程堆栈顶部 008 线程堆栈底部 00C SubSystemTib 010 FiberData 014 ArbitraryUse…

script 放置最佳位置以及 html 执行顺序

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 看到知乎上有很多讨论关于javascript位置的文章。所以特意留意了这方面的问题。 首先要了解到的是&#xff1a; html文件是自上而下的执…

【Arduino】使用C#实现Arduino与电脑进行串行通讯

在给Arduino编程的时候&#xff0c;因为没有调试工具&#xff0c;经常要通过使用串口通讯的方式调用Serial.print和Serial.println输出Arduino运行过程中的相关信息&#xff0c;然后在电脑上用Arduino IDE的Serial Monitor来查看print出来的信息。Serial Monitor不仅可以接受Ar…

node、npm、vue安装 -- VUE 项目 demo 实例

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 安装node&#xff1a; sudo yum install epel-release sudo yum install nodejs node --version // 安装好后查看版本2. 安装 npm …

用C语言实现简单的停车场管理

这个程序是利用栈和循环队列实现的&#xff0c;自己得先处理好逻辑关系就好了。由于题目没有要求&#xff0c;这个程序就没加重复判断&#xff0c;比如一辆车已经停在车位上或者便道上&#xff0c;再来一辆就判断不了了。关于栈&#xff0c;就是先进后出的思想&#xff0c;队列…

Windows To Ghost系统封装之必备软件集 - 好压

好压压缩软件&#xff08;HaoZip&#xff09;是强大的压缩文件管理器&#xff0c;是完全免费的新一代压缩软件&#xff0c;相比其它压缩软件系统资源占用更少&#xff0c;有更好的兼容性&#xff0c;压缩率比较高。 它提供了对ZIP、7Z和TAR文件的完整支持&#xff0c;能解压RAR…

XSLT学习笔记

1. 样式声明&#xff1a;<xsl:stylesheet>或<xsl:transform> 2. XSLT常用元素&#xff1a; 2.1 <xsl:template>&#xff1a;创建模板 Match属性的作用是使模板和XML元素相关联 e.g.:<xsl:template match"\">......</xsl:template&g…

超详细设置 Idea 类注释模板和方法注释模板

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 网上找了一下&#xff0c;没有很详细且正确介绍Idea配置注释模板的&#xff0c;于是结合多篇文章自己琢磨整理出如下。 设置类注释模板…