資料結構——線性表P35.1
1.設順序表用陣列AD表示,表中元素儲存在陣列下標0~ m+n-1的範圍內,前m個元素遞增有序,後n個元素也遞增有序,設計一個演算法,使得整個順序表有序。
分析:
將陣列A[]中的m+n個元素(假設元素為int型)看成兩個順序表:表L和表R。將陣列當前狀態看作起始狀態,即此時表L由A[]中前m個元素構成,表R由A[]中後n個元素構成。要使A[]中m+n個元素整體有序,只需將表R中的元素逐個插入表L中的合適位置即可。
插入過程: 取表R中的第一個元素A[m]存入輔助變數temp中,讓temp逐個與A[m-1],…,A[0]進行比較,當temp<A[] (0≤j≤m-1)時,將A[j]後移-位, 否則將temp存入A[j+1]中。
重複上述過程繼續插入A[m+1], A[m+2], … A[m+n], 最終A[]中元素整體有序。
#include <iostream>
using namespace std;
void insertElem(int A[], int m, int n)
{
int i, j;
int temp;
for (i = m; i < m + n; ++i)
{
temp = A[i];
for (j = i - 1; j >= 0 && temp < A[j]; --j)
A[j+1] = A[j];
A[j + 1] = temp;
}
}
int main()
{
int A[5] = { 6,7,4,5,6 };
insertElem(A,2, 3);
for (int i = 0; i < 5; ++i)
cout <<" "<< A[i];
}
相關文章
- 資料結構——線性表資料結構
- 資料結構 | 線性表資料結構
- 資料結構-線性表資料結構
- 資料結構—線性表資料結構
- [資料結構] - 線性表資料結構
- 資料結構 - 線性表 - 順序表資料結構
- 資料結構-線性表、連結串列資料結構
- 線性表__資料結構筆記資料結構筆記
- 資料結構:線性表-例題資料結構
- 考研資料結構-線性表-順序表資料結構
- 【資料結構】線性表-單連結串列資料結構
- 資料結構筆記——線性表(下)資料結構筆記
- 資料結構筆記——線性表(中)資料結構筆記
- 資料結構與演算法 - 線性表資料結構演算法
- 資料結構線性表兩種方式分享資料結構
- 資料結構基礎學習之線性表資料結構
- 資料結構:線性表(Python實現基本操作)資料結構Python
- 資料結構-第一篇:線性表資料結構
- 資料結構與演算法(一):線性表資料結構演算法
- 【資料結構&演算法】04-線性表資料結構演算法
- 資料結構與演算法 | 線性表 —— 順序表資料結構演算法
- 資料結構與演算法 | 線性表 —— 連結串列資料結構演算法
- 資料結構:特殊的線性表之 棧 & 佇列資料結構佇列
- 前端資料結構--線性結構-連結串列前端資料結構
- 資料結構與演算法-線性表-單連結串列資料結構演算法
- 資料結構實驗三:線性表綜合實驗資料結構
- 資料結構和演算法(一)線性表實現資料結構演算法
- Java實現資料結構之線性結構Java資料結構
- 資料結構與演算法之線性結構資料結構演算法
- 演算法與資料結構1800題 之線性表 (三)演算法資料結構
- C語言資料結構(8)--棧 後進先出線性表C語言資料結構
- 線性表的結構詳解
- 資料結構與演算法(三) -- 線性表之雙向連結串列資料結構演算法
- Java學習筆記:資料結構之線性表(雙向連結串列)Java筆記資料結構
- 老楊《大話資料結構》第三章 線性表資料結構
- C#資料結構與演算法1-C# 線性表C#資料結構演算法
- 資料結構實驗之查詢七:線性之雜湊表資料結構
- 資料結構線性表的鏈式儲存結構(單連結串列)的表示及其基本操作資料結構