順序表(線性表的順序儲存結構,靜態儲存分配,通常用一位陣列來實現)
#include
using
namespace std;
const
int maxsize=
100;
template
<
typename t>
class
seqlist
;template
<
typename t>
seqlist
::seqlist()
template
<
typename t>
seqlist
::seqlist
(t a,
int n)
length=n;
}template
<
typename t>
seqlist::~
seqlist()
template
<
typename t>
int seqlist
::empty()
template
<
typename t>
int seqlist
::length()
template
<
typename t>
t seqlist
::get
(int i)
template
<
typename t>
int seqlist
::locate
(t x)
template
<
typename t>
void seqlist
::insert
(int i,t x)
data[i-1]
=x; length++;}
template
<
typename t>
void seqlist
::print()
}template
<
typename t>
t seqlist
::delete
(int i)
length--
;return x;
}int
main()
; seqlist<
int>
l(r,5)
; cout<<
"輸出原始順序表:"
; l.
print()
; cout
"插入操作:"
;try
catch
(char
*str)
cout
"刪除操作"
;try
catch
(char
*str)
cout
"按位查詢操作"
;try
catch
(char
*str)
cout<<
"按值查詢操作"
;try
catch
(char
*str)
return0;
}
單鏈表(線性表的鏈式儲存結構,動態儲存分配空間,指標實現)
#include
//單鏈表
using
namespace std;
template
<
typename datatype>
struct node
;template
<
typename datatype>
class
linklist
;template
<
typename datatype>
linklist
::linklist()
template
<
typename datatype>
int linklist
::empty()
template
<
typename datatype>
void linklist
::print()
cout<}template
<
typename datatype>
int linklist
::length()
return count;
}template
<
typename datatype>
datatype linklist
::get
(int i)
if(p==
null
)throw
"查詢位置錯誤"
;else
return p-
>data;
}template
<
typename datatype>
int linklist
::locate
(datatype x)
return0;
//退出迴圈,查詢失敗
}template
<
typename datatype>
void linklist
::insert
(int i,datatype x)
if(p==
null
)throw
"插入位置錯誤"
;else
}template
<
typename datatype>
linklist
::linklist
(datatype a,
int n)}/*
templatelinklist::linklist(datatype a,int n)
rear->next=null;//建立完畢,將終端指標置空}*/
template
<
typename datatype>
datatype linklist
::delete1
(int i)
if(p==
null
||p-
>next==
null
)throw
"刪除位置有誤"
;//結點不存在或者結點的後繼結點不存在
else
}template
<
typename datatype>
linklist::~
linklist()
}int
main()
; linklist<
int>
l(a,3)
; cout<<
"輸出當前單鏈表:"
print()
; cout<<
"查詢單鏈表第一位:"
; cout
(char
* str)
cout<<
"輸出插入元素後單鏈表:"
print()
;if(l.empty()
==1)cout<<
"鏈空"
"鏈非空"
}
轉 線性表(順序表和單鏈表)
大神 權侵刪 一 定義 是n個型別相同的資料元素的有限序列。線性表元素的個數n n 0 定義為線性表的長度,當n 0時,稱為空表。在較複雜的線性表中,乙個資料元素可以由若干個資料項組成。三 線性表的順序儲存結構 1 順序儲存定義 線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表的資...
線性表逆置(順序表和單鏈表)
這幾天練習了下線性表的逆置,順序表比較簡單,就是陣列的位置交換。順序表的逆置 單鏈表的逆置 頭插法就地逆置 遞迴順序表的逆置 中間變數temp,交換首位兩個元素的位置。void listreverse sqlist l sqlist status listinit sqlist l status l...
線性表之單鏈表
cpp view plain copy linkedlist linc 2013.2.26 include include include define ok 1 define error 1 define ture 1 define false 0 struct node typedef stru...