有序表的二路歸併
線性表的順序儲存結構稱為順序表。
本文中採用一維陣列data來實現順序表,並設定陣列最大長度為常量maxsize,將長度為n的線性表存放在data陣列中。隨著線性表的插入和刪除操作,線性表的長度是變化的,而陣列的長度是不可變的,所以線性表的長度應該小於或等於陣列的長度maxsize。
建立順序表
順序表的初始化和銷毀
輸出順序表
求順序表的長度
求順序表中的某個位置元素值
按元素值查詢
插入資料元素
刪除資料元素
#include
using namespace std;
#define maxsize
6class
sqlist
;
sqlist:
:sqlist()
sqlist::~
sqlist()
void sqlist:
:creatsqllist
(int n)
length = n;
}
void sqlist:
:displist()
cout << endl;
}else
}
int sqlist:
:listlength()
bool sqlist:
:getelembyindex
(int i,char &e)
else
}
int sqlist:
:getelembyelem
(char e)
if(i>=length)
else
}
bool sqlist:
:insertsqlist
(int i,char e)
for(int j=length;j>=i;j--
) data[i-1]
= e;
length++
;return
true
;}
bool sqlist:
:deletelem
(int i)
for(int j=i-
1;j1;j++
) length--
;return
true
;}
假設兩個遞增有序表順序表l1和l2,分別包含n個和m個元素,設計乙個演算法,將他們的所有元素歸併為乙個遞增有序順序表
void
merge
(sqlist &
l1,sqlist &
l2,sqlist &l3)
else
}while
(i<
l1.length)
while
(j<
l1.length)
l3.length = k;
}
順序表(C 實現)
順序表是基本的資料結構,建立seqlist類,主要包括類的預設成員函式 建構函式 析構函式 賦值運算子過載 順序表的基本功能實現。順序表 typedef int datatype class seqlist seqlist 析構函式 深拷貝 seqlist const seqlist s 拷貝建構函...
C 實現順序表
順序表 用一段位址連續的儲存單元一次儲存資料元素的線性結構。目的 比較陣列 下來用 來實現順序表的各個功能 includeusing namespace std typedef int datatype class seqlist seqlist const seqlist s 拷貝建構函式 els...
c 實現順序表
include using namespace std define max size 20 define ok 1 define error 0 typedef int status typedef int elemtype 元素型別可以改變,假定這裡為int class sqlist void ...