資料結構 線性結構

2021-08-08 18:42:07 字數 2563 閱讀 5224

typedef

int position;

typedef

struct lnode *list;

struct lnode ;

/* 初始化 */

list makeempty()

/* 查詢 */

#define error -1

position find( list l, elementtype x )

/* 插入 */

bool insert( list l, elementtype x, position p )

if ( p<0 || p>l->last+1 )

for( i=l->last; i>=p; i-- )

l->data[i+1] = l->data[i]; /* 將位置p及以後的元素順序向後移動 */

l->data[p] = x; /* 新元素插入 */

l->last++; /* last仍指向最後元素 */

return

true;

} /* 刪除 */

bool delete( list l, position p )

for( i=p+1; i<=l->last; i++ )

l->data[i-1] = l->data[i]; /* 將位置p+1及以後的元素順序向前移動 */

l->last--; /* last仍指向最後元素 */

return

true;

}

以上為順序儲存結構的初始化查詢插入刪除。

線性表基本操作

typedef struct lnode *ptrtolnode; 

struct lnode ;

typedef ptrtolnode position;

typedef ptrtolnode list;

/* 查詢 */

#define error null

position find( list l, elementtype x )

/* 帶頭結點的插入 */

bool insert( list l, elementtype x, position p )

else

} /* 帶頭結點的刪除 */

bool delete( list l, position p )

else

}

typedef

int position;

struct snode ;

typedef

struct snode *stack;

stack createstack( int maxsize )

bool isfull( stack s )

bool push( stack s, elementtype x )

else

} bool isempty( stack s )

elementtype pop( stack s )

else

return ( s->data[(s->top)--] );

}

typedef struct snode *ptrtosnode; 

struct snode ;

typedef ptrtosnode stack;

stack createstack( )

bool isempty ( stack s )

bool push( stack s, elementtype x )

elementtype pop( stack s )

else

}

typedef

int position;

struct qnode ;

typedef

struct qnode *queue;

queue createqueue( int maxsize )

bool isfull( queue q )

bool addq( queue q, elementtype x )

else

} bool isempty( queue q )

elementtype deleteq( queue q )

else

}

typedef struct node *ptrtonode; 

struct node ;

typedef ptrtonode position;

struct qnode ;

typedef struct qnode *

queue;

bool isempty( queue q )

elementtype deleteq( queue q )

else

}

資料結構 線性結構

線性表基本操作有 1 list makeempty 初始化乙個新的線性表 2 elementtype findkth list l,int i 根據指定的位序i,返回l中相應元素ai i是下標 3 position find list l,elementtype x 已知x,返回線性表l中與x相同的...

資料結構 線性結構與非線性結構

線性結構是最常用的資料結構,其特點是資料元素之間存在著一對一的線性關係。線性結構有著兩種不同的儲存結構,順序儲存結構 陣列 和鏈式儲存結構 鍊錶。順序儲存的線性表稱為順序表,順序表中的儲存元素是連續的。鏈式儲存的線性表稱為鍊錶,鍊錶中的儲存元素不一定是連續的,並且鍊錶元素節點中存放著資料元素以及相鄰...

資料結構 線性結構和非線性結構

資料結構包括 線性結構和非線性結構 線性結構 線性結構作為最常用的資料結構,其特點是資料元素之間存在一對一的線性關係 線性結構有兩種不同的儲存結構,即順序儲存結構和鏈式儲存結構.順序儲存的線性表稱為順序表,順序表中的儲存元素是連續的 鏈式儲存的線性表稱為鍊錶,鍊錶中儲存元素不一定是連續的,元素節點中...