顺序表的插入删除查找遍历
生活随笔
收集整理的這篇文章主要介紹了
顺序表的插入删除查找遍历
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
順序表的插入刪除查找遍歷
文章目錄
- 順序表的插入刪除查找遍歷
- 代碼
- 運行結果截圖
代碼
#define Maxsize 100typedef int ElemType; typedef struct{ElemType data[Maxsize];int length; }Sqlist;void Createlink(Sqlist &L) {int a;printf("請輸入你要創建的順序表的長度:");scanf("%d",&a);for(int i=0;i<a;i++){printf("請輸入第%d個元素:",i+1);scanf("%d",&L.data[i]);L.length++;} }int getElem(Sqlist &L) //按值查找,返回下標 {int i;ElemType e;printf("請輸入你要查找的元素:");scanf("%d",&e);for(i=0;i<=L.length-1;i++){if(L.data[i]==e){return i+1;//break;} }printf("無法查找到此元素,請重新操作!"); return -1; }bool insertList(Sqlist &L,int p,ElemType e) //在p的位置上插入e的元素 {int i;if(p<1||p>L.length+1)return false;if(L.length>=Maxsize)return false;//p=getElem(L);for(i=L.length;i>=p;--i)L.data[i]=L.data[i-1];L.data[p-1]=e;L.length++;return true; }bool deleteList(Sqlist &L,int p,ElemType &e) //刪除位置為p的元素 {int i;if(p<1||p>L.length+1)return false;e=L.data[p-1];//p=getElem(L);for(i=p;i<L.length;++i)L.data[i-1]=L.data[i];// L.data[p]=e;L.length--;return true; }void Showlink(Sqlist &L) {int i;printf("順序表中元素為:");for(i=0;i<L.length;i++){printf("%5d",L.data[i]);}printf("\n"); }int main() {int position,e;Sqlist L;L.length=0; //初始化線性表長度為0Createlink(L);Showlink(L); //getElem(L);int temp = getElem(L);printf("此元素在順序表中位置為:%d",temp); printf("\n");printf("請依次輸入要插入的位置和要插入的元素,以空格間隔:");scanf("%d %d",&position,&e);insertList(L,position,e); Showlink(L);printf("請輸入要刪除的線性表元素的位置:");scanf("%d ",&position);deleteList(L,position,e);Showlink(L);return 0;}運行結果截圖
總結
以上是生活随笔為你收集整理的顺序表的插入删除查找遍历的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【搜索/推荐排序】FM,FFM,AFM,
- 下一篇: 数据结构与算法理论概述