一、概述
線性表的順序表示,特點是邏輯關係上相鄰的兩個元素物理位置上也相鄰,這種資料結構的優點是可以隨機讀取表中的任意元素;缺點是做插入或者刪除時,需要移動大量的元素。
與之相對的鏈式表示,不要求邏輯上相連的元素物理位置也相鄰,每個元素除了儲存其本身的資料之外,還儲存了乙個指示其後繼元素位置的資訊。因此在插入和刪除時,不需要移動大量的元素,但是也不支援隨機讀取表中的任意元素。
二、線性鍊錶的實現
#include typedef struct node node;
int initlinklist(node *node)
int getlinklistlen(node *node)
return i;
}int getlinklistelm(node *node, int num, int * data)
for (i=0; inext;
}*data = node->data;
return 0;
}int insertlinklist(node *node, int num, int *data)
for (i=0; inext;
}newnode->next = node->next;
node->next = newnode;
return 0;
}int dellinklist(node *node, int num)
for (i=0; inext;
}delnode = node->next;
node -> next = delnode -> next;
free(delnode);
return 0;
}void printlinklist(node *node)
printf("\n");
}int main(int argc, char ar**)
void testinsertlinklist()
void testdellinklist()
void testgetlinklistelm()
mysql 線性表 資料結構之線性表
概要 參考 大話資料結構 把常用的基本資料結構梳理一下。線性表定義 線性表 list 零個或多個資料元素的有限序列。若將線性表記為 a 1,cdots,a a i,a cdots,a n 則表中 a 領先於 a i a i 領先於 a 稱 a 是 a i 的直接前驅元素,a 是 a i 的直接後繼元...
資料結構之線性表
從現在開始,我們開始討論如何實現一些常用的資料結構和其中的一些經典演算法.等把資料結構講完了.我可能會繼續討論vc 的程式設計只是以及vs平台下的c c 開發等等.呵呵.我們進入正題吧.我在這裡就只實現線性表的連表結構.當然了,這裡實際上包含了好多知識.我希望大家在引用的時候.一定要領悟裡面的一些變...
資料結構之線性表
線性表是具有相同特性的資料元素的乙個有限序列。該序列中所含元素的個數叫做線性表的長度,用n表示,n 0。當n 0時,表示線性表是乙個空表,即表中不包含任何元素。設序列中第i i表示位序 個元素為ai 1 i n 線性表的一般表示為 a1,a2,ai,ai 1,an include include d...