第十章(4) 希爾排序

2021-07-02 01:51:44 字數 1007 閱讀 3902

#include 

using namespace std ;

//希爾排序(shell sort)又稱"縮小增量排序",他是對插入排序類方法的改進

//1.對插入排序的分析得其時間複雜度為o(n*n),但若待排記錄為"正序"時,其時間複雜度可提高至o(n)

//2.在直接插入排序中,當n值很小的時候效率比較高

//所以,希爾排序充分利用上述兩點,先將待排記錄序列分割成若干子串行分別進行直接插入排序,

//待整個序列中的記錄"基本有序"時,再對全體記錄進行一次直接插入排序

#define  maxsize  20     //儲存元素的順序表的最大長度

typedef  int   keytype ;   //關鍵字型別

typedef  int   infotype ;   //其他資料項型別

typedef  struct redtype ;

typedef  struct sqlist ;         //順序表型別

void input( sqlist &l )

l.length = i - 1 ;

}void shellinsert( sqlist &l , int dk )  //對順序表l作一趟希爾插入排序(排序為從小到大)}}

void shellsort( sqlist &l , int dlta[ ] , int t )

void output( sqlist l )

cout << endl ;

}int main( )

;   //增量序列可以有各種取法,但是應使增量序列中的值沒有除1之外的公因子,並且最後乙個增量值必須等於1.

input( l ) ;       //49 38 97 76 13 27 49 55 04 -1(終結符)

shellsort( l , dlta , 3 ) ;

output( l ) ;

return 0 ;

}

第十章 SQL排序(一)

排序規則指定值的排序和比較方式,並且是intersystems sql和intersystemsiris 資料平台物件的一部分。有兩種基本排序規則 數字和字串。預設的字串排序規則是sqlupper 為每個命名空間設定此預設值。sqlupper排序規則將所有字母都轉換為大寫 出於排序的目的 並在字串的...

第十章 函式

使用def關鍵字 定義個數可變的位置形參 定義個數可變的關鍵字形參 定義預設值引數 定義個數可變的位置形參 deffun1 args 結果為乙個元組 print args fun1 10,20,30 10,20,30 定義個數可變的關鍵字形參 deffun2 args 結果為乙個字典 print a...

第十章 屬性

z屬性 本章也比較簡單稍作介紹 無參屬性就是我們常見的屬性 可以封裝屬性 以執行緒安全方式訪問 有參屬性就是c 中的所引器 匿名型別 如圖遇到如下 具體點就是 上面的注釋也已經講清楚了,定義的型別之後,構造例項,然後初始化屬性。現在詳細說下 編譯器接收到 上圖 先用var 定義乙個型別,但是不具體指...