<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
使用順序儲存結構的線性儲存結構的表為線性順序表,線性儲存結構是元素邏輯結構一對一,順序儲存結構是元素物理結構連續,線性順序表操作沒有限制,線性順序表優點是可以使用下標獲取和修改元素,線性順序表缺點是不可以直接插入和刪除元素.
#include<stdio.h>//包含標準輸入輸出檔案 #include<stdlib.h>//包含標準庫檔案 typedef struct//定義型別定義結構體 { int*Array,Length;//定義整數指標變數陣列,定義整數變數長度 }Sequential_List;//定義順序表 Sequential_List Sequential_List_Create(void)//順序表創造 { return(Sequential_List){malloc(0)};//返回順序表陣列賦值為分配0位元組返回值並且退出函數 } void Sequential_List_Destroy(Sequential_List*sequential_list/*定義順序表指標變數順序表*/)//順序表銷燬 { free(sequential_list->Array);//釋放順序表陣列 } void Sequential_List_Insert(Sequential_List*sequential_list/*定義順序表指標變數順序表*/,int Insert_Index/*定義整數變數插入索引*/,int Insert_Element/*定義整數變數插入元素*/)//順序表插入 { sequential_list->Array=realloc(sequential_list->Array,++sequential_list->Length*sizeof(int));//順序表陣列賦值為重新分配順序表長度累加1乘整數位節返回值 for(int Index=sequential_list->Length;Index>Insert_Index;--Index)//定義整數變數索引賦值為順序表長度,索引大於插入索引,索引累減1 sequential_list->Array[Index]=sequential_list->Array[Index-1];//順序表陣列第索引個元素賦值為順序表陣列第索引減1個元素 sequential_list->Array[Insert_Index]=Insert_Element;//順序表陣列第插入索引個元素賦值為插入元素 } void Sequential_List_Delete(Sequential_List*sequential_list/*定義順序表指標變數順序表*/,int Delete_Index/*定義整數變數刪除索引*/)//順序表刪除 { --sequential_list->Length;//順序表長度累減1 for(int Index=Delete_Index;Index<sequential_list->Length;++Index)//定義整數變數索引賦值為刪除索引,索引小於順序表長度,索引累加1 sequential_list->Array[Index]=sequential_list->Array[Index+1];//順序表陣列第索引個元素賦值為順序表陣列第索引加1個元素 } int Sequential_List_Obtain(Sequential_List sequential_list/*定義順序表變數順序表*/,int Obtain_Index/*定義整數變數獲取索引*/)//順序表獲取 { return sequential_list.Array[Obtain_Index];//返回順序表陣列第獲取索引個元素並且退出函數 } int Sequential_List_Obtain_Length(Sequential_List sequential_list/*定義順序表變數順序表*/)//順序表獲取長度 { return sequential_list.Length;//返回順序表長度並且退出函數 } int main(void)//主函數 { Sequential_List sequential_list=Sequential_List_Create();//定義順序表變數順序表賦值為順序表創造返回值 int Select,Element,Index;//定義整數變數選擇,定義整數變數元素,定義整數變數索引 do{ scanf("%i",&Select);//格式掃描選擇 if(Select==1)//選擇等於1 { scanf("%i%i",&Index,&Element);//格式掃描索引和元素 Sequential_List_Insert(&sequential_list,Index,Element);//順序表插入第索引個元素為元素 } else if(Select==2)//選擇等於2 { scanf("%i",&Index);//格式掃描索引 Sequential_List_Delete(&sequential_list,Index);//順序表刪除第索引個元素 } else if(Select==3)//選擇等於3 { scanf("%i",&Index);//格式掃描索引 printf("%i",Sequential_List_Obtain(sequential_list,Index));//格式列印順序表獲取第索引個元素返回值 } else if(Select==4)//選擇等於4 printf("%i",Sequential_List_Obtain_Length(sequential_list));//格式列印順序表獲取長度返回值 }while(Select);//選擇不等於0 Sequential_List_Destroy(&sequential_list);//順序表銷燬 }
#include<iostream>//包含輸入輸出流檔案 template<typename Type/*型別*/>struct Sequential_List//定義模板結構體順序表 { Type*Array=new Type;//定義型別指標變數陣列賦值為新型別位元組返回值 int Length=0;//定義整數變數長度賦值為0 ~Sequential_List(void)//順序表解構 { delete Array;//刪除陣列 } void Insert(int Insert_Index/*定義整數變數插入索引*/,Type Insert_Element/*定義型別變數插入元素*/)//插入 { Type*temporary_Array=Array;//定義型別指標變數臨時陣列賦值為陣列 Array=new Type[++Length];//陣列賦值為新長度累加1乘型別位元組返回值 for(int Index=0;Index<Length;++Index)//定義整數變數索引賦值為0,索引小於長度,索引累加1 Array[Index]=temporary_Array[Index];//陣列第索引個元素賦值為臨時陣列第索引個元素 delete temporary_Array;//刪除臨時陣列 for(int Index=Length-1;Index>Insert_Index;--Index)//定義整數變數索引賦值為長度減1,索引大於插入索引,索引累減1 Array[Index]=Array[Index-1];//陣列第索引個元素賦值為陣列第索引減1個元素 Array[Insert_Index]=Insert_Element;//陣列第插入索引個元素賦值為插入元素 } void Delete(int Delete_Index/*定義整數變數刪除索引*/)//刪除 { --Length;//長度累減1 for(int Index=Delete_Index;Index<Length;++Index)//定義整數變數索引賦值為刪除索引,索引小於長度,索引累加1 Array[Index]=Array[Index+1];//陣列第索引個元素賦值為陣列第索引加1個元素 } int Obtain(int Obtain_Index/*定義整數變數獲取索引*/)//獲取 { return Array[Obtain_Index];//返回陣列第獲取索引個元素並且退出函數 } int Obtain_Length(void)//獲取長度 { return Length;//返回長度並且退出函數 } }; int main(void)//主函數 { Sequential_List<int>sequential_list;//定義順序表整數變數順序表 int Select,Element,Index;//定義整數變數選擇,定義整數變數元素,定義整數變數索引 do{ std::cin>>Select;//標準輸入選擇 if(Select==1)//選擇等於1 { std::cin>>Index>>Element;//標準輸入索引和元素 sequential_list.Insert(Index,Element);//順序表插入第索引個元素為元素 } else if(Select==2)//選擇等於2 { std::cin>>Index;//標準輸入索引 sequential_list.Delete(Index);//順序表刪除第索引個元素 } else if(Select==3)//選擇等於3 { std::cin>>Index;//標準輸入索引 std::cout<<sequential_list.Obtain(Index);//標準輸出順序表獲取第索引個元素返回值 } else if(Select==4)//選擇等於4 std::cout<<sequential_list.Obtain_Length();//標準輸出順序表獲取長度返回值 }while(Select);//選擇不等於0 }
到此這篇關於C/C++實現線性順序表的範例程式碼的文章就介紹到這了,更多相關C++線性順序表內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45