摘要:希望能夠把自己的代碼分享給有需要的同學們,一起進步。實現語言為語言,發博客之前已檢查了能否運行成功。
@【TOC】(目錄)第一章:線性表
數據結構作為計算機系的最重要課程是計算機系學生必修課,我們需要引起足夠的重視。希望能夠把自己的代碼分享給有需要的同學們,一起進步。實現語言為C語言,發博客之前已檢查了能否運行成功。
學習教材:數據結構(C語言版)-嚴蔚敏 吳偉民
代課教師:呼克佑(太原理工大學講師)
作者簡介: 中部某末流211軟院大二學生
數據結構是計算機存儲、組織數據的方式
int InitList(SqList *L);int DestroyList(SqList *L);int ListEmpty(SqList L);int ListLength(SqList L);int GetElem(SqList L, int i, int *e);int ListInsert(SqList *L, int i, int e);int ListDelete(SqList *L, int i, int *e);int LocateElem(SqList L,int e);void GetElems(SqList L);
#define LIST_SIZE 10#define OVERFLOW 1#define OK 0#define OVERFLOW -1#define TRUE 1#define FALSE 0#define ERROR 0
typedef struct SqList{ int *data; int length;};
int InitList(struct SqList *L){ L->data = (int *) malloc(sizeof(int) * LIST_SIZE); //申請內存不成功 if(!L->data) return ERROR; L->length = 0; return OK;}
int DestroyList(struct SqList *L){ free(L->data); L->length = 0; L->data = NULL; return OK;}
int ListEmpty(struct SqList L){ if(L.length < 1) return TRUE; else return FALSE;}
int ListLength(struct SqList L){ return L.length;}
int GetElem(struct SqList L, int i,int *e){ if(i < 1 ||i > L.length ) return ERROR; *e = L.data[i-1]; return OK;}
//將第i個位置以后的元素依次都往后移一個單位空間,將e插入第i個位置int ListInsert(struct SqList *L, int i, int e){ if(i < 1 || i > L->length + 1) return ERROR; for(int j = i-1; j <L->length-1;j++) L->data[j+1] = L->data[j]; L->data[i-1] = e; L->length++; return OK;}
//將i+1個以后的元素依次向前移一個單位空間int ListDelete(struct SqList *L, int i,int *e){ if(i < 1 || i > L->length) return ERROR; *e = L->data[i-1]; for(int j = L->length-1; j > L->length-1; j--) L->data[j-1] = L->data[j]; L->length--; return OK;}
int LocateElem(struct SqList L,int e){ int i; for(i = 0; i < L.length; i++) if(L.data[i] == e) return i+1; return 0;}
void GetElems(SqList L){ for(int i = 1; i <= L.length; i++) printf("線性表中第%d個元素是%d/n",i,L.data[i-1]);}
線性表的順序存儲結構優點:隨機存取缺點:不適用頻繁的插入和刪除,效率不高,時間復雜度O(n)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/121136.html
摘要:線性表是最基本的數據結構之一,在實際程序中應用非常廣泛,它還經常被用作更復雜的數據結構的實現基礎。鏈表之單鏈表線性表的定義,它是一些元素的序列,維持著元素之間的一種線性關系。 線性表學習筆記,python語言描述-2019-1-14 線性表簡介 在程序中,經常需要將一組(通常是同為某個類型的)數據元素作為整體管理和使用,需要創建這種元素組,用變量記錄它們,傳進傳出函數等。一組數據中包含...
摘要:數據結構試題前言這里是數據結構系列文章,主要介紹計算機二級考試中的涉及到數據結構的知識點數據結構在計算機科學中處處都有存在,例如編譯系統要使用棧散列表語法樹等操作系統要使用隊列存儲管理表目錄樹等等。 數據結構 試題前言這里是 數據結構 系列文章,主要介紹計算機二級考試中的涉及到數據結構的知識點 /數據結構在計算...
摘要:程序設計數據結構算法數據結構數據結構就是關系,沒錯,就是數據元素相互之間存在的一種或多種特定關系的集合。物理結構是指數據的邏輯結構在計算機中的存儲形式。 程序設計=數據結構+算法 數據結構 數據結構就是關系,沒錯,就是數據元素相互之間存在的一種或多種特定關系的集合。 傳統上,我們把數據結構分為邏輯結構和物理結構。 邏輯結構:是指數據對象中數據元素之間的相互關系,也是我們今后最...
閱讀 768·2021-09-26 09:55
閱讀 2057·2021-09-22 15:44
閱讀 1473·2019-08-30 15:54
閱讀 1323·2019-08-30 15:54
閱讀 2667·2019-08-29 16:57
閱讀 516·2019-08-29 16:26
閱讀 2489·2019-08-29 15:38
閱讀 2121·2019-08-26 11:48