静态创建顺序表,并进行插入删除操作
2016-12-15 11:20
323 查看
程序代码:
运行结果:
#include"stdio.h" #include<iostream> #include"stdlib.h" using namespace std; #define maxsize 10 void 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; }
运行结果:
相关文章推荐
- CSS声明之文本格式化、表格样式、定位、列表样式、显示方式、鼠标形状
- win7使用arp-d提示参数错误的解决办法。
- 第十五周 项目4:验证希尔排序
- php stmp邮件发送
- 第十二周项目1
- 第十六周-项目三 归并排序算法的改进
- Spring集成ehcache
- 对DB2故障处理及最佳实践的浅析
- 第15周项目2-用哈希法组织关键字
- STL 多维向量的定义以及初始化
- C# Selenium 处理滚动条方法
- jQuery validate插件功能与用法详解
- css控制字体长度(用省略号显示)
- 第14周项目1-(2)验证分块查找算法
- 【第16周 项目1(3) - 直接选择排序】
- 第16周项目3-归并排序算法的改进
- SpringMVC 和Struts2的区别
- 【微信公众号】将微信公众号消息里的FromUserName即OpenID转成UnionID
- python 函数传递参数的多种方法
- Codeforces Round #384 (Div. 2) ABCD