顺序表基本操作
2016-01-05 13:14
489 查看
#include<windows.h>//源代码已经在VS2012编译通过 #include<stdio.h> #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define MaxSize 50 typedef int Status; typedef int ElemType; typedef struct { ElemType data[MaxSize]; int length; }SqList; SqList CreateSqList(SqList &L) { int x; int i = 0; scanf("%d",&x); while(x) { L.data[i++] = x; scanf("%d",&x); } L.length = i; return L; } void PrintSqList(SqList L) { bool Is = true; for(int i = 0;i < L.length;i++) { if(Is) { printf("%d",L.data[i]); Is = false; } else { printf("--%d",L.data[i]); } } printf("\nThe length:%d\n",L.length); } SqList InsertElem(SqList &L,int i,int e) { if(i < 0 || i > L.length+1) { return L; } if(L.length >= MaxSize) { return L; } for(int j = L.length;j >= i;j--) { L.data[j] = L.data[j-1]; } L.data[i-1] = e; L.length++; return L; } SqList DeleteElem(SqList &L,int i) { if(i < 0 || i > L.length) { return L; } if(L.length == 0) { return L; } for(int j = i;j < L.length;j++) { L.data[j-1] = L.data[j]; } L.length--; return L; } int main() { //建立顺序表并打印输出 SqList L; L = CreateSqList(L); PrintSqList(L); //在第i个位置上插入新元素 L = InsertElem(L,2,100); PrintSqList(L); //删除第i个位置上的元素 L = DeleteElem(L,2); PrintSqList(L); system("pause"); return 0; }
相关文章推荐
- 在JS数组特定索引处指定位置插入元素
- jquery实现删除一个元素后面的所有元素功能
- php数组函数序列之array_splice() - 在数组任意位置插入元素
- php数组中删除元素之重新索引的方法
- JavaScript实现添加、查找、删除元素
- 在JS数组特定索引处指定位置插入元素的技巧
- js数组依据下标删除元素
- 链表 生成链表 链表尾部添加元素 移出元素 反序从尾到头打印链表
- 数组中删除元素
- leetcode:Remove Element (删除给定元素)【面试算法题】
- vector删除元素与清除内存空洞
- 线性表的基本操作
- 字典NSDictionary
- IGraphicsContain 删除元素
- Jquery 插入节点总结
- 数据结构之单链表删除第i个元素并用e返回其值的算法
- jQuery - 删除元素
- Leet Code 27 Remove Element - 删除元素 - Java
- 双向链表的创建查找与删除元素
- lua中删除元素