线性表的顺序存储格式基本操作:初始化、插入、删除、查找、打印
2017-03-13 22:35
555 查看
/* 线性表的基本操作 '&'表示C++中的引用。如果传入的变量是指针型变量,且在函数体内要对传入的指针进行改变,则将用到指针变量引用型 */ #include<iostream> using namespace std; #define MaxSize 50 struct SqList{ int data[MaxSize];//顺序表的元素 int length;//顺序表的当前长度 }; bool ListInsert(SqList &L,int i,int e) //在顺序表的第i个位置插入元素 { if (i<1||i>L.length+1)//判断i的范围是否有效 return false; if (L.length>=MaxSize)//当前存储空间已满,不能插入 return false; for (int j=L.length;j>=i;j--)//将第i个元素及之后的元素后移 L.data[j]=L.data[j-1]; L.data[i-1]=e;//在i的位置放入e L.length++;//线性表长度+1 return true; } bool ListDelete(SqList &L,int i,int &e) //删除顺序表中第i个位置的元素 { if (i<1||i>L.length) return false; int *p=&(L.data[i-1]); e=*p; for (int j=i;j<L.length;j++) L.data[j-1]=L.data[j];//将第i个位置后的元素前移 L.length--; return true; } int LocateElem(SqList L,int e)//按值查找 //查找元素e,查找成功,返回元素下标,失败返回0; { int i; for (i=0;i<L.length;i++) { if (L.data[i]==e) return i+1; } return 0; } int PrintList(SqList L) { cout<<"顺序表为:"; for (int i=0;i<L.length;i++) { cout<<L.data[i]<<" "; } return 0; } int main() { SqList L={ {3,1,5,7,12,78,34}, 7 }; cout<<"顺序表的长度:"<<L.length<<endl; //Test LocateElem int Locate; Locate=LocateElem(L,7); cout<<"下标为:"<<Locate<<endl; PrintList(L); //Test Insert if (ListInsert(L,1,2)) { cout<<"\ninsert ok\n"; PrintList(L); } // Test Delete cout<<endl; int e; if( ListDelete(L,3,e)) { cout<<e<<endl; PrintList(L); } // cout<<e<<endl; return 0; }
相关文章推荐
- 线性表的链式存储格式基本操作:创建链表、插入、删除、查找、求表长、打印链表
- 线性表链式存储结构下基本操作的实现(初始化、赋值、取值、插入、删除、归并等)
- 线性表的基本操作:插入、删除、查找等操作在顺序存储结构和链接存储结构上的算法
- 编程菜鸟的日记-初学尝试编程-顺序表的类定义及其基本操作算法(创建表、元素插入、元素删除、顺序查找、测表空、求表长、输出等)
- 线性表的基本操作:新建,插入,删除,查找(C语言版)
- 线性表的基本操作(插入,删除,查找)
- C语言实现顺序表的插入、删除、查找、遍历等基本操作
- 线性表顺序存储插入和删除操作
- 编程实现顺序存储结构和链式存储结构线性表的建立、查找、插入、删除等基本操作
- c语言:顺序表的实现(一) 创建,插入,删除,查找,输出等基本操作实现
- 线性表顺序存储插入和删除操作
- 线性表的基本操作,包括:创建、插入、删除、查找等基本操作
- (1)顺序表的操作 ① 输入一组整型元素序列,建立线性表的顺序存储结构。 ② 实现该线性表的遍历。 ③ 在该顺序表中查找某一元素,查找成功显示查找元素,否则显示查找失败。 ④ 在该顺序表中删除或插入指
- 线性表之顺序表的创建、初始化、查找、删除、插入和合并
- 数据结构线性表之顺序表的基本操作插入、删除、遍历、初始化
- 用C语言编写一个包含链表的初始化、插入、删除、查找等基本操作的程序。
- 【数据结构作业一】写出顺序表的结构体类型定义及查找、插入、删除算法,并以顺序表作存储结构,实现线性表的插入、删除
- 顺序栈的初始化,建立,插入,查找,删除
- 顺序表的定义、初始化、及插入、删除、查询操作,将算法转化成具体的代码
- c语言链表基本操作(带有创建链表 删除 打印 插入)