1)插入操作:
在i的位置上插入乙個新的元素x,演算法實現如下:
void insert(seqlist l,int i, elemtype x)
if(i<1 || i>l.length+1)
for(j=l.length; j>=i; j--)
l.data[j] = l.data[j-1];
l.data[i-1] = x;
l.length++;
}
最好情況:表尾插入,時間複雜度為o(1)
最差情況:表頭插入,時間複雜度為o(n)
平均情況:第i個位置插入乙個元素後移執行的次數為n-i+1,e(n) = n/2=o(n)
2)刪除演算法:
elemtype delete(seqlist l, int i)
if(i最好情況:刪除表尾元素,時間複雜度為o(1);
最壞情況:刪除表頭元素,時間複雜度為o(n);
平局情況:刪除第i個元素,時間複雜度為(n-1)/2= o(n);
3)查詢演算法:
a)按位查詢:
elemtype get(seqlist l, int i)
else return l.data[i-1];
}
b)按值查詢:
int locate(seqlist l, elemtype x)
考研資料結構之順序表 待續
順序表專題 include include define maxsize 100 結構體定義 typedef structsqlist function 將元素e插入在順序表中的第i個位置上 param sqllist 待插入的順序表 e 待插入元素 i 插入位置 return 返回成功的標記 in...
資料結構 1 順序表
資料結構的基礎知識 1968年美國克努特教授開創了資料結構的最初體系 資料結構是指資料的邏輯結構和儲存結構及其操作 資料結構是一門綜合性的專業客場,是一門介於數學 計算機硬體 計算機軟體之間的一門核心課程。是設計和實現編譯系統 作業系統 資料庫系統及其他系統程式和大型應用程式的基礎 資料的邏輯結構 ...
資料結構 1 順序表
目錄 順序表1.順序表的概念及結構 2.特點 3.動態順序表的實現 3.1 順序表初始化 3.2 順序表銷毀 3.3 順序表列印 3.4 檢查空間,如果滿了,進行增容 3.5 順序表尾插 3.6 順序表尾刪 3.7 順序表頭插 3.8 順序表頭刪 3.9 順序表查詢 3.10 順序表在pos位置插入...