国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【數據結構森林】撥開簡單的順序表

2019-11-08 01:40:54
字體:
來源:轉載
供稿:網友

我在大學的課堂,覺得數據結構很難理解。不過課后很幸運地借助資料自學了下來。感覺又有什么復雜的呢?無非老師沒給我講清楚罷了。那么我們開始入門:順序表。

順序表可以理解為一個長度為SIZE的數組a[SIZE],數組中的每一個元素都有下標,而我們則是通過一個個下標去1插入數組,2刪除數組,3遍歷數組,4尋找數組中的值。這四步就是順序線性表的主要操作了。

1.首先定義全局變量:最大長度SIZE,和實時長度ListSize

#define SIZE 10

int ListSize = 10;

2.定義名為List的變量,使它的作用與int相當(之所以不直接用int表示是因為數組元素還可以用其他變量類型去定義, 例如char。屆時只要將List再定義為char就ok了)

typedef int List;

3.定義四個函數分別為ListInsert(), ListDelete(), ListTravel(), ListFindElement()。如果一個個分開說文章就太沒結構了。所以我一次性把全代碼先貼出來。

#include<stdio.h>#define SIZE 10typedef int List;int ListSize = 0;int ListInsert(List *list, List a){if(list == 0)return 1;if(ListSize >= SIZE){PRintf("the list is full/n");return 1;}list[ListSize++] = a;return 0;}int ListDelete(List *list, List a){int index;if(ListSize <= 0){printf("the list is empty/n");return 1;}for(index = 0; index < ListSize && index < SIZE; index++){if(list[index] == a){list[index] = 0;ListSize--;return 0;}}return 0;}int ListTravel(List *list){int index;if(ListSize == 0){printf("the list is empty/n");return 1;}printf("the travel result:");for(index = 0; index < ListSize && index < SIZE; index++){printf("%d ", list[index]);}return 0;}int ListFindElement(List *list, List a){int index;if(ListSize == 0){printf("the list is empty/n");return 1;}printf("the finding result is:");for(index = 0; index < ListSize && index < SIZE; index++){if(list[index] == a){return 0;}}return -1;}int main(){List list[SIZE] = {0};int i = 0;for(i = 0; i < 5; i++){list[i] = i;ListSize++;}ListTravel(list);ListInsert(list, 1);ListTravel(list);ListDelete(list,4);ListTravel(list);int a = ListFindElement(list,2);printf("%d",a);return 0;}

若具體不懂請在評論提問,有什么想要我講的數據結構內容也可以提出


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东兰县| 体育| 独山县| 苍溪县| 玛沁县| 清水河县| 高青县| 林周县| 万山特区| 思茅市| 九寨沟县| 北海市| 江西省| 大同市| 沙雅县| 尼玛县| 航空| 万宁市| 乌海市| 新野县| 墨竹工卡县| 乌兰察布市| 昌都县| 临夏县| 翼城县| 奉贤区| 于都县| 大田县| 大厂| 满城县| 巴林左旗| 科技| 渑池县| 永济市| 南充市| 普格县| 麻江县| 临桂县| 吉安县| 泽州县| 新巴尔虎左旗|