静态创建顺序表,并进行插入删除操作
来源:互联网 发布:c语言头文件内容 编辑:程序博客网 时间:2024/06/05 05:23
程序代码:
#include"stdio.h"#include<iostream>#include"stdlib.h"using namespace std;#define maxsize 10void insertelem(int sqlist[], int &n, int i, int item)//向长度为n的静态顺序表的第i个位置处插入元素item{ if (n == maxsize || i<1 || i>n + 1)//插入非法 { cout << "插入非法" << endl; return; } int* q = &sqlist[n - 1]; for (;q >= &sqlist[i - 1]; q--)//将第i个位置及其后面所有的元素向后移动一位 *(q + 1) = *q; sqlist[i - 1] = item; n++;//顺序表长度加1}void deleteelem(int sqlist[], int &n, int i)//将长度为n的静态顺序表的第i个位置处元素删除{ if (i<1 || i>n)//删除非法 return; for (int j = i; j < n; j++)//从第i个位置后的元素依次往前移动一位 sqlist[j - 1] = sqlist[j]; n--;//顺序表长度减1}int main(){ int sqlist[maxsize]; int len; printf("please input six integer number:\n"); for (int i = 0; i < 6; i++) cin >> sqlist[i]; len = 6; for (int i = 0; i < len; i++) printf("%d ", sqlist[i]); printf("\nThe spare length is%d\n", maxsize - len); //插入元素 insertelem(sqlist, len, 3, 0); for (int i = 0; i < len; i++) printf("%d ", sqlist[i]); printf("\nThe spare length is%d\n", maxsize - len); //非法插入 insertelem(sqlist, len, 11, 0); //删除元素 deleteelem(sqlist, len, 6); for (int i = 0; i < len; i++) printf("%d ", sqlist[i]); printf("\nThe spare length is%d\n", maxsize - len); system("pause"); return 0;}
运行结果:
0 0
- 静态创建顺序表,并进行插入删除操作
- 动态创建顺序表,并进行插入删除操作
- 创建顺序表并进行一系列操作
- 顺序表创建插入删除操作及实现
- 顺序表的创建、遍历、插入、删除等操作demo
- 顺序表中静态顺序表的创建、插入和删除一个元素(源码分析)
- 顺序表的创建插入与删除
- 顺序表,链表,静态链表的建立以及插入和删除操作
- 线性表之顺序表的创建、初始化、查找、删除、插入和合并
- 顺序表基本操作(插入、删除)
- 顺序表 查找 插入 删除 操作
- 顺序表插入删除查找操作
- 数据结构顺序表的操作全集(创建,遍历,插入,删除,排序等等)
- 链表的创建、插入、删除操作
- 链表的创建、插入、删除操作
- 数据结构之顺序表的创建、插入、删除、定位
- 顺序表的创建,插入,修改,删除,查询代码
- c语言:顺序表的实现(一) 创建,插入,删除,查找,输出等基本操作实现
- 项目 1 - 验证算法之二叉排序树
- 第十六周项目3-归并排序算法的改进
- 第十五周项目3-B-数的基本操作
- 第十六周【项目一-(8)基数排序】
- 多线程和多进程的区别与联系
- 静态创建顺序表,并进行插入删除操作
- CSS声明之文本格式化、表格样式、定位、列表样式、显示方式、鼠标形状
- 项目1 验证算法(1) 直接插入排序
- 第十三周项目5--拓扑排序算法验证
- easyUI的datagrid的post请求并传递参数
- 第14周项目3 是否二叉排序树?
- [jjzhu学hadoop]之hadoop2.7.3源码编译eclipse项目
- 【JAVA】java coding规范
- 第14周项目1-(3)验证二叉排序树相关算法