資料結構演算法練習1 順序表

2021-10-07 21:51:14 字數 1361 閱讀 3102

1.從順序表中刪除具有最小元素(假設唯一)並由函式返回被刪除函式的值,空出的位置由最後乙個元素填補,如果順序表為空顯示出錯資訊並退出執行。

思想:遍歷順序表,找到最小值的位置,將末尾元素儲存到此次,刪除末尾元素

bool del_min(sqlist &l,elemtype &value)

for(int i=0;is&count==0)

if(l.data[i]>t&count==1)

} if(flag1==-1)

int sub=flag2-flag1;

for(int i=flag1;i5.從無序鍊錶中刪除s到t之間的數 

思想:將小於s和大於t的元素,篩選出來新增進新的表

bool del_s_t2(sqlist &l,elemtype s,elemtype t)

for(int i=0;i=t)

} l=l1;

return true;

}

6.從有序表中刪除,所有值重複的元素,使得無重複值

思想:因為是有序表,所以值相同的元素一定在連續的位置上。判斷後面的元素值是否與前面的元素值相等,如果相等,將後面的元素前移,兩個元素合併成乙個元素。

bool delete_same(sqlist &l)

int i=0,j=0,k=0;

while(i8.已知乙個一位陣列中a[m+n],依次存放著兩個線性表(a1,a2,,,am),(b1,b2,,,bn).編寫乙個函式將陣列中的兩個順序表位置互換

思想:將(a1,a1...am,b1,b2,,,bn)逆置換——》(bn...b2,b1,am,,,,a2,a1)——》前n個逆置換,後m個逆置換

typedef int datatype;

//函式1將任意陣列進行逆序

void reverse(datatype a,int left,int right,int arraysize)

int mid=(left+right)/2;

for(int i=0;i<=mid-left;i++)

} //函式2呼叫函式1解題

void exchenge(date a,int m,int n,int arraysizes)

9,線性表(a1,a2,,,an)中的元素遞增有序地存在計算機內,要求設計乙個演算法完成最少時間在表中查詢值為x的元素,如果找到與其後繼元素位置交換。如果找不到將其插入表中使得表仍然遞增有序。

思想:因為要求最短時間所以用折半查詢。

void searchexchangeinsert(elemtype a,eleamtype x)

a[i+1]=x;

} }

資料結構 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位置插入...

資料結構 1 順序表

線性表 具有相同資料型別的n n 0 個資料元素的有序序列 函式中定義的陣列位於棧段,系統棧大小ulimit s8192 8mb 棧段存管理節點位址,管理節點 資料都在堆段 結構操作 增刪改查 刪除指當前記憶體可以被占用,如果被覆寫就找不回來了 include include include inc...