数据结构线性表之顺序表

来源:互联网 发布:java编写管理系统 编辑:程序博客网 时间:2024/06/12 01:46
/* * SqList.cpp * *  Created on: 2015年4月20日 *      Author: Administrator *      数据结构源代码之线性表——顺序表类 */#include<iostream>using namespace std;const int maxlen = 100;struct TsqList{char elem[maxlen];//长度为maxlen的字符型数组elemint curlen;//线性表当前长度};int location(TsqList myTsqList, char el){//求顺序表myTsqList中el元素的为序,若找到,则返回其位序;若无,则返回0;int i = 0;while( i < myTsqList.curlen && myTsqList.elem[i] != el){i++;}if(i < myTsqList.curlen){return (i+1);}else{return 0;}}bool insert(TsqList myTsqList, int location, char el){//将元素el插入线性表myTsqList的Location位置,若成功,返回true,否则返回falseint i = 0;if(location < 1 || location > (myTsqList.curlen + 1) || (myTsqList.curlen == maxlen)){return false;}else{myTsqList.curlen++;for(i = myTsqList.curlen - 1; i >= location; i--){myTsqList.elem[i] = myTsqList.elem[i - 1];}myTsqList.elem[location-1] = el;return true;}}char dele(TsqList myTsqList, int location){//在线性表中删除第location号元素。若成功,返回该元素,否则返回NULLint i = 0;char element;if(location < 1|| location > myTsqList.curlen){return NULL;}else{element = myTsqList.elem[location-1];for(i = location; i < myTsqList.curlen; i++){myTsqList.elem[i-1] = myTsqList.elem[i];}myTsqList.curlen--;return element;}}int main(){//testTsqList myTsqList;TsqList *p = &myTsqList;int i;for(i = 0; i < 5; i++){cin>>(*p).elem[i];}(*p).curlen = 5;cout<<location((*p), 'b')<<endl;insert((*p), 3, 'k');for(i = 0; i < (*p).curlen; i++){cout<<(*p).elem[i]<<" ";}cout<<endl;cout<<dele((*p), 3)<<endl;for(i = 0; i < (*p).curlen; i++){cout<<(*p).elem[i]<<" ";}return 0;}
0 0
原创粉丝点击