数据结构之简单的顺序表
2017-09-30 16:23
323 查看
简单的顺序表,包含对顺序表的插入、删除、取值。
运行结果:
![](https://img-blog.csdn.net/20170930162239173?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbW1heWFuc2h1bw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
以后会逐渐更新关于数据结构的知识。
#include<stdio.h> #include<stdlib.h> #include<stdbool.h> #define Maxsize 50 typedef struct SqList{ int* data; int length; }; // ---------------------------- 初始化----------------------------- bool InitList(struct SqList* L) { L->data=(int*)malloc(sizeof(int)*(Maxsize)); int i=0; for(i=0;i<Maxsize/2;i++) { L->data[i]=rand()%100; } L->length=Maxsize/2; return true; } //-----------------------------插入---------------------------------- bool ListInsert(struct SqList *L,int i,int e) { if(i<1||i>L->length+1) return false; if(L->length>=Maxsize) return false; int j=0; for( j=L->length;j>=i;j--) { L->data[j]=L->data[j-1]; } L->data[i-1]=e; L->length++; return true; } //---------------------------删除---------------------------------- bool ListDelete(struct SqList* L,int i,int e) //删除指定i位置的元素,并把被删除元素保存在e中 { if(i<1||i>L->length) return false; e=L->data[i-1]; int j=0; for(j=i;j<L->length;j++) { L->data[j-1]=L->data[j]; } L->length-- ; return true ; } //--------------------------查找-------------------------------- int LocateElem(struct SqList* L,int e) { int i=0; for(i=0;i<L->length;i++) { if(L->data[i]==e) return i+1; } return 0; } void print(struct SqList *L) { int j=L->length; int i=0; for(i=0;i<j;i++) { printf("%d ",L->data[i]); } printf("\n"); } int main() { //-------------------初始化顺序表-------------------- struct SqList L; if(InitList(&L)==true) { printf("顺序表初始化成功!\n"); } print(&L); //-------------------在第一个位置上插入元素--------------- printf("\n\n"); if(ListInsert(&L,1,100)==true) { printf("在第1个位置插入元素100!\n"); } else { printf("插入失败!\n"); } print(&L); printf("\n\n"); //------------------删除第二个位置上的元素-------------------- int ee; if(ListDelete(&L,2,ee)==true) printf("删除成功,删除第2个元素,删除的元素是%d\n",ee); else printf("删除失败\n"); print(&L); printf("\n\n"); //-----------------按值查找元素位置------------------------ int locate=LocateElem(&L,100); printf("元素100在顺序表中所在的位置是 第%d个\n",locate); }
运行结果:
以后会逐渐更新关于数据结构的知识。
相关文章推荐
- 数据结构 - 简单的顺序表结构
- 数据结构-顺序表Java简单实现
- 简单的数据结构——顺序表
- C++简单学习(Part1_lecture 6)(时间、输入输出、数据结构)
- 以rtl8169 pci简单介绍pic module加载过程以及部分数据结构关系图
- 一个简单的通用序列数据结构
- 静态顺序表实现简单的通讯录
- 数据结构之链表与数组(三)-单向链表上的简单操作
- poj 1634 简单数据结构
- 数据结构_线性表_顺序表 的创建,插入,删除,查找
- 数据结构顺序表
- 简单数据结构之链表(无头节点)
- [java数据结构]--java双向链表LinkedList的简单实现
- 简单数据结构之链表(有头节点)
- 简单的数据结构5.1--------(没整理完)
- java 中的JDK封装的数据结构和算法解析(集合类)----顺序表 List 之 ArrayList
- 数据结构学习笔记——顺序表和链表的比较
- 和菜鸟一起学数据结构之简单静态链表实现
- 数据结构入门--优先队列简单排序
- 数据结构之简单链表(头部插入数据,查找,删除指定数据)