線性表操作

2021-06-27 12:14:17 字數 1783 閱讀 5466

大概實現的功能:

1、 建立線性表類。線性表的儲存結構使用鍊錶。

2、 提供操作:自表首插入元素、刪除指定元素、搜尋表中是否有指定元素、輸出鍊錶。

3、 接收鍵盤錄入的一系列整數(例10,25,8,33,60)作為節點的元素值,建立鍊錶。輸出鍊錶內容。

4、 輸入乙個整數(例33),在鍊錶中進行搜尋,輸出其在鍊錶中的位置。如果不存在輸出0。

5、 使用鍊錶遍歷器實現鍊錶的反序輸出。

6、建立兩個有序鍊錶,使用鍊錶遍歷器實現鍊錶的合併。

鍊錶類和節點類

//沒有使用模板

chain.h

#pragma once

#include //#include "chainiterator.h"

using namespace std;

class chainnode

private:

int data ;

chainnode* link ;

};class chain

;

chain.cpp

#include "stdafx.h"

//#include "chain.h"

#include "chainiterator.h"

#include chain::chain(void)

chain::~chain(void)

chain& chain::insertfromfront(int& x)

return *this ;

}void chain::delete(int k , int &x) }}

int chain::ifexis(const int& x)const

if(p1)

return index ;

return 0 ;

}void chain::output()const

chain& chain::add(int& x)

p->link = pnew ;

} return *this ;

}//在k的前面新增資料為x的節點

chain& chain::insert(int& x ,const int& k )

if(k <= 0 )

return *this;

for(int i = 1 ; p&&ilink ;

if(null == p)//沒有位置為k的節點

return *this ;

pnew->link = p->link ;

p->link = pnew ;

return *this ;

}

便利器類

chainiterator.h

#pragma once

#include "chain.h"

class chainiterator

;

chainiterator.cpp

#include "stdafx.h"

#include "chainiterator.h"

chainiterator::chainiterator(void)

chainiterator::~chainiterator(void)

int* chainiterator::initialize(const chain& c)

int* chainiterator::next()

線性表操作

include stdio.h define maxsize 20 define overflow 1 define ok 1 define error 1 void init seqlist int length pointer 構造乙個空的線性表 int insert last int elem...

線性表操作

include using namespace std define maxsize 10000 typedef struct sqlist 在上述定義後,可以通過變數定義語句 sqlist l 將l定義為sqlist型別的變數,便可以利用 l.data i 1 來訪問表中位置 序號為i 的資料 i...

線性表操作練習

1 線性表練習 1 從給定順序表a中刪除元素值在x到y x y 之間的所有元素,效率要求較高。int def vector a,int n,elemtype x,elemtype y return n k 2 用不多於3n 2的平均比較次數,在乙個順序表a中找出最大的和最小的值。void maxmi...