动态创建顺序表,并进行插入删除操作
来源:互联网 发布:疯狂java讲义的错误 编辑:程序博客网 时间:2024/06/07 05:02
代码程序:
#include"stdio.h"#include<iostream>#include"stdlib.h"using namespace std;#define maxsize 10typedef struct{ int*elem; int length; int listsize;}sqlist;void initiallist(sqlist *l)//动态的创建一个顺序表{ l->elem = (int *)malloc(maxsize*sizeof(int)); if (!l->elem) return; l->length = 0; l->listsize = maxsize;}void insertelem(sqlist*l, int i, int item)//插入一个元素{ if (i<1 || i>l->length+1)//判断是否插入非法 { cout << "插入非法" << endl; return; } int*base = 0; if (l->length >= l->listsize)//如果元素个数等于最大容量,进行容量扩展,这是动态创建顺序表的好处。 { base = (int*)realloc(l->elem,(maxsize + 10)*sizeof(int)); l->elem = base; l->listsize = maxsize + 10; } int*p = l->elem + l->length - 1; for (; p >= (l->elem + i - 1); p--)//将i位置后每一个元素后移 *(p + 1) = *p; *(l->elem + i - 1) = item; l->length++;}void deleteelem(sqlist*l, int i)//删除一个元素{ if (i<1 || i>l->length)//判断是否删除非法 { cout << "删除非法" << endl; return; } int*p = l->elem + i; for (; p <= (l->elem + l->length - 1); p++)//将i位置后每一个元素前移 *(p - 1) = *p; l->length--;}int main(){ sqlist l; initiallist(&l);//初始化链表 for (int i = 0; i < 15;i++)//插入15个元素 insertelem(&l, i + 1, i + 1); printf("the content of the list is:\n"); for (int i = 0; i < l.length; i++) printf("%d ", l.elem[i]); deleteelem(&l, 5);//删除一个元素后 printf("\ndelete the fifth element\n"); for (int i = 0; i < l.length; i++) printf("%d ", l.elem[i]); system("pause"); return 0;}
0 0
- 动态创建顺序表,并进行插入删除操作
- 静态创建顺序表,并进行插入删除操作
- 创建顺序表并进行一系列操作
- 顺序表创建插入删除操作及实现
- 顺序表的创建、遍历、插入、删除等操作demo
- 顺序表的创建插入与删除
- 线性表之顺序表的创建、初始化、查找、删除、插入和合并
- 顺序表基本操作(插入、删除)
- 顺序表 查找 插入 删除 操作
- 顺序表插入删除查找操作
- 数据结构顺序表的操作全集(创建,遍历,插入,删除,排序等等)
- 链表的创建、插入、删除操作
- 链表的创建、插入、删除操作
- javascript 动态创建元素appendChild,并加入删除操作removeChild
- 动态顺序表的实现,插入删除查找修改...
- 数据结构之顺序表的创建、插入、删除、定位
- 顺序表的创建,插入,修改,删除,查询代码
- c语言:顺序表的实现(一) 创建,插入,删除,查找,输出等基本操作实现
- sql常用语句
- allocation tracker
- 注解系列知识总结(一)
- 超文本传输协议版本 2 [http/2 spec]
- 类的继承
- 动态创建顺序表,并进行插入删除操作
- C++必须使用【初始化列表】初始化数据成员的三种情况
- codeforces-743C-math
- 我也来学设计模式_策略模式
- 为什么使用正则test( )第一次是 true,第二次是false?
- Internet Transaction Server (ITS) mobile – Developing ITS templates from scratch
- IE这个大坑之细数遇到的坑
- Spring MVC + MyBatis3 实现的简单个人博客
- codevs4思路