C++ 顺序表练习
#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++ 顺序表练习的更多相关文章
- jdk顺序表笔记
一.AbstractCollection 提供了集合的最大实现 继承该类,必须实现size()和iterator(),因为该类操作集合都是通过iterator 二.fail-fast策略 该策略在集合 ...
- c++顺序表基本功能
头文件 #define LIST_MAX_SIZE 5#define LISTINCREMENT 2#include<assert.h>#include<string>temp ...
- 数据结构:顺序表(python版)
顺序表python版的实现(部分功能未实现) #!/usr/bin/env python # -*- coding:utf-8 -*- class SeqList(object): def __ini ...
- 《数据结构》2.2顺序表(sequence list)
//顺序表节点的定义 typedef struct { datatype data[MAXSIZE]; //数组容量的上限 int len; //记录最后一个元素的位置,相当于一个指针,表空时len= ...
- c数据结构 顺序表和链表 相关操作
编译器:vs2013 内容: #include "stdafx.h"#include<stdio.h>#include<malloc.h>#include& ...
- java顺序表和树的实现
一.顺序表 1.线性表 //java顺序表的实现,如ArrayList就是用线性表实现的,优点是查找快,缺点是添加或删除要移动很多元素,速度慢 public class SequenceList { ...
- 数据结构顺序表删除所有特定元素x
顺序表类定义: template<class T> class SeqList : { public: SeqList(int mSize); ~SeqList() { delete[] ...
- 顺序表C语言版
#include <stdio.h> /* * 顺序表最多输入N个数 */ #define N 10 #define OK 1 #define ERROR -1 struct sequeu ...
- C#线性表之顺序表
线性表是最简单.最基本.最常用的数据结构.线性表是线性结构的抽象(Abstract), 线性结构的特点是结构中的数据元素之间存在一对一的线性关系. 这种一对一的关系指的是数据元素之间的位置关系,即: ...
- C语言 线性表 顺序表结构 实现
一个能够自动扩容的顺序表 ArrList (GCC编译). #include <stdio.h> #include <stdlib.h> #include <string ...
随机推荐
- linux debain systemd 开机启动 nodejs 兼容原initd启动 forever 开机自启
布署环境为debian 7.5 布署到一台新机器,系统版本为debian 8.0 原启动项 /etc/init.d/mongo_service 开机居然无法自起 开机自启动不能用了,看页面输出就发觉不 ...
- python3下应用pymysql(第二卷)
上一卷讲述的是单条插入数据,现在要多条插入数据: 随意定义了一批数据 去数据库查询一下: 下面试一下查询语句: 获取游标里的数据,结果如下: 下面更改下返回数据类型,如果想用字典类型: 结果如下: 在 ...
- vue项目实例-常用标签
感谢:https://www.jianshu.com/p/5d9b341d650f 总结: 1.<router-link to=''>主要实现跳转链接功能,属性to='/'即是跳转到pat ...
- Java 中Enum的使用与分析
https://www.cnblogs.com/softidea/p/3760235.html https://blog.csdn.net/qq_27093465/article/details/52 ...
- Vacant Seat(Atcoder-C-交互式题目)
C - Vacant Seat Time limit : 2sec / Memory limit : 256MB Score : 500 points Problem Statement This i ...
- Linux上centOs6+安装mysql5.7详细教程 - 前端小鱼塘
https://coyhom.github.io/ 人类的本质是复读机,作为一个非linux专业人员学习linux最好的办法是重复 环境centos6.5 版本5.7 1: 检测系统是否自带安装mys ...
- fabric 初步实践
在集群部署时,我们经常用到堡垒机作为跳板,堡垒机和集群的其他的用户名.密码.端口号都是不同的,fabric如何进行配置不同的用户.端口号和密码. fabric作为一种强大的运维工具,可以让部署运维轻松 ...
- arm-eabi-addr2line工具跟踪Android调用堆栈
使用arm-eabi-addr2line工具跟踪Android调用堆栈作者:liangshengyang转自:http://www.linuxidc.com/Linux/2011-01/31803.h ...
- sycCMS PHP V1.0---呵呵呵呵呵
闲的无聊,随便找了份代码看了看. //search.php 第17行 第49行 ...... $keyword=SafeRequest("keyword","post&q ...
- 查看网卡信息 - ethtool
查看网卡是千兆还是万兆网卡,使用ethtool 网络接口名 ethtool eth0