#include <stdio.h>
#include <stdlib.h>
#include <string.h> struct Array //定义一个数据存储结构
{
int* data;//内存地址
int length;//顺数表长度
int listsize;//顺序表大小
}; typedef struct Array Array; Array* createArray()
{
Array *temp = (Array*)malloc(sizeof(Array)); //顺序表的结构体初始化
if (temp == NULL) //判断内存是否申请成功
{
printf("顺序表初始化失败!\n");
return NULL;
}
temp->data = (int* )malloc(sizeof(int) * ); //申请10个int大小的内存
temp->length = ;
temp->listsize = ;
printf("顺序表创建完成!\n");
return temp;
} int insertArray(Array * arr, int i, int n) //存放数据至顺序表中
{
if (i< || i>arr->length + ) //判断插入的位置是否合法, 只能按顺序插入,
return ; if (arr->length >= arr->listsize) //动态分配内存,如果空间已满申请更大的内存,用realloc在原本大小上扩容
{
arr->data = (int*)realloc(arr->data, (arr->listsize + ) * sizeof(int)); if (arr->data == NULL) return NULL;
arr->listsize += ; }
int k;
for (k = arr->length - ; k >= i - ; k--)
{
arr->data[k + ] = arr->data[k]; }
arr->data[i-] = n;
arr->length++;
return ;
} void Show_Array(Array* arr) //打印顺序表中的元素
{
if (arr->length == )
{
printf("顺序表为空!\n");
}
else
{
printf("顺序表中的元素为:");
for (int i = ; i < arr->length; i++)
{
printf("%d ", arr->data[i]); }
printf("\n"); }
} void Find_Ch_Array(Array* arr,int n) //查找顺序表中第n位置的元素值
{
if (arr->data == NULL)
printf("顺序表为空!\n");
if(arr->length<n)
printf("没有存这么多的数据!\n");
else
printf("第%d个元素的值为:%d\n",n, arr->data[n - ]); } void Set_Ch_Array(Array* arr, int n, int x)
{
if (arr->data == NULL)
printf("顺序表为空!\n");
if (arr->length < n)
printf("没有存这么多的数据!\n");
else
arr->data[n - ] = x;
printf("替换成功!\n"); }

void list_insert_arr(Array* arr,int n) //指定位置插入数据
{
if (arr->data == NULL)
printf("顺序表为空!\n");
if (arr->length < n)
printf("没有存这么多的数据!\n");
else
{
for (int i = 0; i < 10; i++)
{
int nun;
scanf("%d", &nun);
insertArray(arr, n+i, nun);


}


}
}

int main()
{
Array* a=createArray(); for (int i = ; i < ; i++)
{ insertArray(a, i, i + ); }
Show_Array(a); Find_Ch_Array(a, ); system("pause");
return ;
}

C++ 顺序表练习的更多相关文章

  1. jdk顺序表笔记

    一.AbstractCollection 提供了集合的最大实现 继承该类,必须实现size()和iterator(),因为该类操作集合都是通过iterator 二.fail-fast策略 该策略在集合 ...

  2. c++顺序表基本功能

    头文件 #define LIST_MAX_SIZE 5#define LISTINCREMENT 2#include<assert.h>#include<string>temp ...

  3. 数据结构:顺序表(python版)

    顺序表python版的实现(部分功能未实现) #!/usr/bin/env python # -*- coding:utf-8 -*- class SeqList(object): def __ini ...

  4. 《数据结构》2.2顺序表(sequence list)

    //顺序表节点的定义 typedef struct { datatype data[MAXSIZE]; //数组容量的上限 int len; //记录最后一个元素的位置,相当于一个指针,表空时len= ...

  5. c数据结构 顺序表和链表 相关操作

    编译器:vs2013 内容: #include "stdafx.h"#include<stdio.h>#include<malloc.h>#include& ...

  6. java顺序表和树的实现

    一.顺序表 1.线性表 //java顺序表的实现,如ArrayList就是用线性表实现的,优点是查找快,缺点是添加或删除要移动很多元素,速度慢 public class SequenceList { ...

  7. 数据结构顺序表删除所有特定元素x

    顺序表类定义: template<class T> class SeqList : { public: SeqList(int mSize); ~SeqList() { delete[] ...

  8. 顺序表C语言版

    #include <stdio.h> /* * 顺序表最多输入N个数 */ #define N 10 #define OK 1 #define ERROR -1 struct sequeu ...

  9. C#线性表之顺序表

    线性表是最简单.最基本.最常用的数据结构.线性表是线性结构的抽象(Abstract), 线性结构的特点是结构中的数据元素之间存在一对一的线性关系. 这种一对一的关系指的是数据元素之间的位置关系,即: ...

  10. C语言 线性表 顺序表结构 实现

    一个能够自动扩容的顺序表 ArrList (GCC编译). #include <stdio.h> #include <stdlib.h> #include <string ...

随机推荐

  1. Angular开发者指南(七)依赖注入

    依赖注入 依赖注入(DI)是一种软件设计模式,处理组件如何获取其依赖关系. AngularJS注入器子系统负责创建组件,解析它们的依赖关系,并根据请求将它们提供给其他组件. 使用依赖注入 DI遍布An ...

  2. Mybatis与Spring整合(纯注解)

    java1.5版本之后开始支持注解,spring*2开始提供注解配置方式,到spring**4后spring推荐使用注解配置 IOC注解(主要作用就是在spring容器中声明一个Bean,同xml中的 ...

  3. 数据库引擎MyiSAM和InnoDB区别

    数据库操作原理归根到底还是对文件操作,只不过是数据库文件. MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三 ...

  4. Java IO: 网络

    原文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) 校对:方腾飞 Java中网络的内容或多或少的超出了Java IO的范畴.关于Java网络更多 ...

  5. 输入一个url之后到底发生了什么 - Hurry

    背景 最近学习到 nginx 方向代理发现,nginx 可以将你的请求以 http 块的 server 形式代理到请求的域名或者 ip 地址. 一个简单的 nigx 配置如下: 12345678 se ...

  6. JAVA递归、非递归遍历二叉树

    前序遍历:1.访问根节点 2.前序遍历左子树 3.前序遍历右子树 中序遍历:1.中序遍历左子树 2.访问根节点 3.中序遍历右子树 后序遍历:1.后序遍历左子树 2.后序遍历右子树 3.访问根节点-- ...

  7. 对这些工程师来说,Skype Translator是他们自己的事——Skype Translator项目研发团队的故事

    Translator是他们自己的事--Skype Translator项目研发团队的故事" title="对这些工程师来说,Skype Translator是他们自己的事--Sky ...

  8. python标准库:csv 模块

    原文地址:http://www.bugingcode.com/blog/python_csv.html csv 模块被用来读取CSV格式(用逗号分割数值)的数据文件,CSV格式的文件经常在微软的Exc ...

  9. ubuntu16.04问题 · 最初的梦想

    ubuntu 包管理器命令 1 $ sudo synaptic 安装主题 1 $ sudo apt-get install unity-tweak-tool 下载主题 https://www.sysg ...

  10. sycPHPCMS v1.6 cookie sqlinjection

    ./user/index.php include "../include/conn.php"; include "../include/function.php" ...