/********************************************************************************************************
*
* file name: Zqh_splist_4.22.1.c
* author : keyword2024@163.com
* date : 2024/04/22
* function : 已知一個順序表L,其中的元素遞增有序排列,設計一個演算法,插入一個元素x(x為t型)後保持該順序表仍然遞增有序排列(假設插入操作總能成功)。
* note : 考研題
*
* Copyright (c) 2023-2025 keyword2024@163.com All right Reserved
* ******************************************************************************************************/
#define MAX_SIZE 100
// 定義順序表結構體
typedef struct {
int data[MAX_SIZE];
int length;
} SeqList;
//最佳化前
//遞增排序
void SeqList_Insert(SeqList *L,int x)
{
int temp = -1; //記錄待插入元素的下標
//遍歷順序表,找到插入位置,比較元素
for (int i = 0; i <= last; ++i)
{
if (x < L[i])
{
temp = i;
break;
}
}
if( -1 == temp)
{
L[last+1] = x;
return;
}
//把待插入位置的後繼元素向後移動
for (int i = last; i >= temp; i--)
{
L[i+1] = L[i];
}
L[temp] = x;
}
// 最佳化後
// 在遞增有序的順序表中插入元素 x
void SeqList_Insert(SeqList *L, int x) {
int i, j;
for (i = 0; i < L->length; i++) {
if (L->data[i] >= x) {
break;
}
}
for (j = L->length; j > i; j--) {
L->data[j] = L->data[j - 1];
}
L->data[i] = x;
L->length++;
}
//在演算法檢測時,需要找特殊的情況,列如:0 表頭 表尾 邊界值
已知一個順序表L,其中的元素遞增有序排列,設計一個演算法,插入一個元素x(x為t型)後保持該順序表仍然遞增有序排列(假設插入操作總能成功)c實現。
相關文章
- 順序表有序插入資料
- 順序表應用5:有序順序表歸併
- 順序表應用6:有序順序表查詢
- 同一個元素中有多個class,優先順序
- 在一個長度為n的不同元素的陣列中順序查詢元素x,查詢成功時的平均比較次數為多少陣列
- 進行List集合去重操作,分為保持原List集合元素順序和不保持原順序
- 資料結構實驗一:順序表的建立與操作實現、順序表實現約瑟夫環問題資料結構
- 【Oracle】-【插入讀取順序】-插入讀取之間的順序關係Oracle
- li列表的前面插入一個元素
- 資料結構_順序表_順序表的初始化、插入、刪除、修改、查詢列印(基於C語言實現)資料結構C語言
- C語言實現順序表C語言
- 5-順序表查詢及插入問題
- Java實現順序表Java
- c++模擬實現順序表C++
- 如何斷言兩個元素順序不一致的列表相同?
- 線性表-順序表C語言實現C語言
- 查詢一個表的一列插入到另一個表
- c語言順序棧常規插入刪除操作C語言
- js實現的在li元素列表的任意位置插入一個新的li元素JS
- 隨機生成100個整數存入一個順序表,整數範圍在[100,200)之間,輸出表中所有元素;然後去掉其中所有的偶數,輸出表中所有元素。隨機
- 順序表
- DS順序表--類實現
- [PY3]——實現一個優先順序佇列佇列
- 如何將一個陣列中的元素插入另一個陣列陣列
- 給定一個按非遞減順序排序的整數陣列 A,返回每個數字的平方組成的新陣列,要求也按非遞減順序排序。排序陣列
- Oracle 表結構順序一致 隱藏的2個問題...Oracle
- 【演算法】輸入兩個整數序列。其中一個序列表示棧的push順序,判斷另一個序列有沒有可能是對應的pop順序。演算法
- CSS 元素層疊順序CSS
- 順序表應用3:元素位置互換之移位演算法演算法
- 在ul的最後插入一個li元素程式碼例項
- 資料結構c語言實現順序表基本操作資料結構C語言
- c語言: 鍵盤輸入一個n個字元的串,然後按字母表順序輸出這n個字元C語言字元
- 將兩個有序陣列合併為一個有序陣列陣列
- mysql 從一個表中查詢,插入到另一個表中MySql
- 線性表的使用——順序實現
- 【資料結構】實現順序表(c++)資料結構C++
- 順序表的基本方法實現C語言版C語言
- 請教一個從Collection到Map保持排序順序不變的問題排序