日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

链表的顺序存储

發布時間:2023/12/4 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 链表的顺序存储 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

鏈表的順序存儲無非就是在一個結構體數組里面集成了許多函數的操作,使之算法變得更加簡單。

#include<stdio.h> #include<windows.h> #define maxsize 100 typedef int datatype; typedef struct {datatype a[maxsize];int size; }sequence_list;void init(sequence_list* slt) {slt->size=0; }//值空表。void append(sequence_list* slt,datatype x) {if(slt->size==maxsize) {printf("順序表是滿的!");exit(1); }slt->a[slt->size]=x;slt->size=slt->size+1; }//順序表后部進行插入操作。void display(sequence_list slt) {int i;if(!slt.size)printf("\n順序表是空的!");elsefor(i=0;i<slt.size;i++)printf("%5d",slt.a[i]); }//打印順序表的各個節點值。int empty(sequence_list slt) {return (slt.size==0?1:0); }//判斷順序表是否為空。int find(sequence_list slt,datatype x) {int i=0;while(i<slt.size&&slt.a[i]!=x) i++;return (i<slt.size?i:-1); }//查找順序表中值為x的節點位置。datatype get(sequence_list slt,int i) {if(i<0||i>=slt.size) {printf("\n指定位置的節點不存在!");exit(1);}elsereturn slt.a[i]; }//取得順序表中第i個節點的值。void insert(sequence_list *slt,datatype x,int position) {int i;if(slt->size==maxsize) {printf("\n順序表滿了,沒辦法插入!");exit(1);}if(position<0||position>slt->size) {printf("\n指定的位置不存在!");exit(1);} // for(i=slt->size;i>position;i--) { // slt->a[position]=x; // slt->size++; // }for(i=slt->size;i>position;i--) {slt->a[i]=slt->a[i-1];}slt->size++;slt->a[position]=x; }//在順序表的position位置插入值為x的節點。void dele(sequence_list *slt,int position) {int i;if(slt->size==0) {printf("\n順序表是空的!");exit(1); }if(position<0||position>=slt->size) {printf("\n指定的刪除位置不存在!");exit(1);}for(i=position;i<slt->size-1;i++)slt->a[i]=slt->a[i+1];slt->size--; }//刪除表中第position位置的節點。int main() {return 0; }

總結

以上是生活随笔為你收集整理的链表的顺序存储的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。