大概實現的功能:
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...