C语言 数据结构 线性表 顺序表 线性表的顺序存储结构
来源:互联网 发布:淘宝 唱片 编辑:程序博客网 时间:2024/06/05 05:04
//C语言--数据结构--线性表 顺序表 线性表的顺序存储结构
//其实顺序表就相当于一个数组
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <malloc.h>
#include <windows.h>
using namespace std;
#define MAXSIZE 10//定义顺序表的长度
typedef struct{
char data[MAXSIZE];//就是char data[100] MAXSIZE就是顺序表的最大长度
int length; //这个是结构体里的数据的个数
}ArrayList, *List;
//初始化顺序表
void init(ArrayList *list){
list->length = 0;
cout << "顺序表初始化成功!!!\n" << endl;
}
//输出全部的顺序表元素
void getAll(ArrayList *list){
for(int i=0;i < list->length;i++){
printf("第 %d 个元素是: %c\n",i,list->data[i]);
}
}
//在顺序表的最后添加元素
int append(ArrayList *list,char data){
if(list->length > MAXSIZE - 1){
cout << "顺序表已满!!!\n" << endl;
return 0;
}
list->data[list->length] = data;
list->length++;
return 1;
}
//移除顺序表中的第index个元素
int remove(ArrayList *list,int index){
if (index<0 || index>list->length) {
cout << "索引下标越界!!!\n" << endl;
return 0;
}
for (int i=index;i<=list->length;i++) {
list->data[i]=list->data[i+1];
}
list->length--;
return 1;
}
//在顺序表的第index位置插入元素
int insert(ArrayList *list,int index,char data){
if (index<0||index>=list->length) {
cout<<"索引下标越界!!!\n"<<endl;
return 0;
}
for (int i=list->length;i>index;i--){
list->data[i+1]=list->data[i];
}
list->data[index]=data;
list->length++;
return 1;
}
//更改顺序表第index个的内容
int replace(ArrayList *list,int index,char data){
if (index<0||index>list->length) {
cout<<"索引下标越界!!!\n"<<endl;
return 0;
}
list->data[index]=data;
return 1;
}
//获取顺序表的长度
int length(ArrayList *list){
if (list=NULL){
cout<<"未初始化顺序表!!!\n"<<endl;
return 0;
}
return list->length+1;
}
void main() {
ArrayList list;
init(&list);
for (int i = 0; i <= 11; i++) {
append(&list,'a'+i);
}
remove(&list,2);
insert(&list,2,'c');
replace(&list,2,'x');
getAll(&list);
system("pause");
}
//其实顺序表就相当于一个数组
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <malloc.h>
#include <windows.h>
using namespace std;
#define MAXSIZE 10//定义顺序表的长度
typedef struct{
char data[MAXSIZE];//就是char data[100] MAXSIZE就是顺序表的最大长度
int length; //这个是结构体里的数据的个数
}ArrayList, *List;
//初始化顺序表
void init(ArrayList *list){
list->length = 0;
cout << "顺序表初始化成功!!!\n" << endl;
}
//输出全部的顺序表元素
void getAll(ArrayList *list){
for(int i=0;i < list->length;i++){
printf("第 %d 个元素是: %c\n",i,list->data[i]);
}
}
//在顺序表的最后添加元素
int append(ArrayList *list,char data){
if(list->length > MAXSIZE - 1){
cout << "顺序表已满!!!\n" << endl;
return 0;
}
list->data[list->length] = data;
list->length++;
return 1;
}
//移除顺序表中的第index个元素
int remove(ArrayList *list,int index){
if (index<0 || index>list->length) {
cout << "索引下标越界!!!\n" << endl;
return 0;
}
for (int i=index;i<=list->length;i++) {
list->data[i]=list->data[i+1];
}
list->length--;
return 1;
}
//在顺序表的第index位置插入元素
int insert(ArrayList *list,int index,char data){
if (index<0||index>=list->length) {
cout<<"索引下标越界!!!\n"<<endl;
return 0;
}
for (int i=list->length;i>index;i--){
list->data[i+1]=list->data[i];
}
list->data[index]=data;
list->length++;
return 1;
}
//更改顺序表第index个的内容
int replace(ArrayList *list,int index,char data){
if (index<0||index>list->length) {
cout<<"索引下标越界!!!\n"<<endl;
return 0;
}
list->data[index]=data;
return 1;
}
//获取顺序表的长度
int length(ArrayList *list){
if (list=NULL){
cout<<"未初始化顺序表!!!\n"<<endl;
return 0;
}
return list->length+1;
}
void main() {
ArrayList list;
init(&list);
for (int i = 0; i <= 11; i++) {
append(&list,'a'+i);
}
remove(&list,2);
insert(&list,2,'c');
replace(&list,2,'x');
getAll(&list);
system("pause");
}
阅读全文
0 0
- C语言 数据结构 线性表 顺序表 线性表的顺序存储结构
- C语言数据结构-1.线性表之顺序存储结构
- 数据结构笔记:线性表顺序存储结构(C语言)
- 【数据结构】线性表的顺序存储结构
- 【数据结构】线性表的顺序存储结构
- 【数据结构】线性表顺序结构的操作---C/C++语言
- 【数据结构】线性表顺序结构的操作---C/C++语言
- 线性表的顺序存储结构的c语言实现
- 顺序存储结构线性表的C语言实现
- 用C语言实现线性表的顺序存储结构
- 线性表顺序存储结构的c语言实现
- 线性表的顺序存储结构(C语言实现)
- 数据结构:线性表之顺序存储结构
- <数据结构>线性表.顺序存储结构
- 数据结构-线性表之顺序存储结构
- 数据结构 - 线性表顺序存储结构
- 【数据结构】线性表之顺序存储结构
- 数据结构---线性表----顺序存储结构
- Network
- Network
- Tools
- Android OnClickListener 的三种实现方式
- Network
- C语言 数据结构 线性表 顺序表 线性表的顺序存储结构
- 25张图让你读懂神经网络构架
- Python之禅
- 剑指offer-面试题62-序列化二叉树
- JVM调优总结(一)-- 一些概念
- Python
- Python
- Python
- Python