排序算法--希爾排序

實現邏輯
① 先取一個小于n的整數d1作為第一個增量,把文件的全部記錄分成d1個組。
② 所有距離為d1的倍數的記錄放在同一個組中,在各組內進行直接插入排序。
③ 取第二個增量d2小于d1重復上述的分組和排序,直至所取的增量dt=1(dt小于dt-l小于…小于d2小于d1),即所有記錄放在同一組中進行直接插入排序為止。

void print_array(int a[], int n){for (int i = 0; i < n; ++i){cout << a[i] << " ";}cout << endl;
}void shellSort(int arr[], int nSize)
{for(int d = nSize / 2; d >= 1; d = d / 2){for(int k = 0; k < d; ++k){for(int i = k + d; i < nSize; i = i + d){int value = arr[i];int ipos = i;while((ipos - d) >= 0 && value < arr[ipos - d]){arr[ipos] = arr[ipos - d];ipos = ipos - d;}arr[ipos] = value;}}}
}int main(){int arr[] = {10, 8, 11, 7, 4, 12, 9, 6, 5, 3};int len = sizeof(arr)/sizeof(arr[0]);int newArray[10] = {0};cout << "排序前:";print_array(arr, len);shellSort(arr, len);cout << "排序后:";print_array(arr, len);return 0;
}

輸出結果:
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/164359.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/164359.shtml
英文地址,請注明出處:http://en.pswp.cn/news/164359.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JSP:Servlet

Servlet處理請求過程 B/S請求響應模型 Servlet介紹 JSP是Servlet的一個成功應用&#xff0c;其子集。 JSP頁面負責前臺用戶界面&#xff0c;JavaBean負責后臺數據處理&#xff0c;一般的Web應用采用JSPJavaBean就可以設計得很好了。 JSPServletJavaBean是MVC Servlet的核心…

【實驗筆記】C語言實驗——降價提醒機器人

降價提醒機器人 題目&#xff1a; 小 T 想買一個玩具很久了&#xff0c;但價格有些高&#xff0c;他打算等便宜些再買。但天天盯著購物網站很麻煩&#xff0c;請你幫小 T 寫一個降價提醒機器人&#xff0c;當玩具的當前價格比他設定的價格便宜時發出提醒。 輸入格式&#xf…

人工智能教程(一):基礎知識

目錄 前言 什么是人工智能&#xff1f; 教學環境搭建 向量和矩陣 前言 如果你是關注計算機領域最新趨勢的學生或從業者&#xff0c;你應該聽說過人工智能、數據科學、機器學習、深度學習等術語。作為人工智能系列文章的第一篇&#xff0c;本文將解釋這些術語&#xff0c;并搭…

k8s部署-kuboard安裝(工具kuboard-spary)

Kuboard-Spray Kuboard-Spray 是一款可以在圖形界面引導下完成 Kubernetes 高可用集群離線安裝的工具 配置要求 對于 Kubernetes 初學者&#xff0c;在搭建K8S集群時&#xff0c;推薦在阿里云或騰訊云采購如下配置&#xff1a;&#xff08;您也可以使用自己的虛擬機、私有云等…

HCIP --- HCIA(部分匯總)--- 點對點網絡

抽象語言 --- 電信號 抽象語言 --- 編碼 編碼 --- 二進制 二進制 --- 電信號 處理電信號 OSI/RM ---- 開放式系統互聯參考模型 --- 1979 --- ISO --- 國際標準化組織 核心思想 --- 分層 應用層 --- 提供各種應用程序&#xff0c;抽象語言轉換成編碼&#xff0c;人機交互…

Docker 命令詳解

1. 容器生命周期管理 命令說明文檔run創建一個新的容器并運行一個命令Docker run 命令start/stop/restart啟動、停止、重啟容器Docker start/stop/restart 命令kill殺掉一個運行中的容器Docker kill 命令rm刪除一個或多個容器Docker rm 命令pause/unpause暫停 恢復容器中所有的…

Arm64版本的centos編譯muduo庫遇到的問題的歸納

環境&#xff1a;Mac m2 pro下的VMware虛擬機中Arm64 centos ./build.sh 執行后提示如下 cmake -DCMAKE_BUILD_TYPErelease -DCMAKE_INSTALL_PREFIX…/release-install-cpp11 -DCMAKE_EXPORT_COMPILE_COMMANDSON /root/package/muduo-master – Boost version: 1.69.0 – Co…

[git] 忽略已經提交的文件或文件夾

文件已經被Git跟蹤 如果某個文件已經被Git跟蹤過&#xff08;即已經添加到版本控制中&#xff09;&#xff0c;.gitignore文件對該文件將不起作用。您需要使用以下命令將該文件從Git中移除&#xff1a; git rm --cached 支持文件夾 -r <文件夾>

Flink Table API 讀寫MySQL

Flink Table API 讀寫 MySQL import org.apache.flink.connector.jdbc.table.JdbcConnectorOptions; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.table.api.DataTypes; import org.apache.flink.table.api.Envi…

投資房產的理由與好處,投資買房的方法與技巧

一、教程描述 本套買房教程&#xff0c;大小2.15G&#xff0c;共有23個文件。 二、教程目錄 00.她23歲北漂月薪600&#xff0c;7年后50萬在京買了第一套房&#xff0c;如今身價上千萬.mpg 01.這個游戲&#xff0c;有些人輸了所有錢&#xff0c;一輩子也不明白這個道理.mpg …

CSGO搬磚項目全面講解 ,CSGO搬磚注意事項

steam/csgo搬磚第二課之如何選品 Steam/CSGO游戲搬磚全套操作流程之如何選品&#xff08;第二課&#xff09; 一個游戲只要能搬&#xff0c;只要體量不夠大&#xff0c;很快就會貨幣價格暴跌&#xff0c;直接涼涼。市面上的能穩定手動搬磚的游戲越來越少。所以對于兼職賺點外快…

【Spring】 IoCDI

回顧 企業命名規范 大駝峰:BookDao(首字母都大寫) 類名 小駝峰:bookDao(第一個字母小寫) 方法名 蛇形:book_dao(小寫下劃線_) 數據庫 串形:book-dao(小寫連字符-) 項目文件夾 各種注解 學習Spring MVC, 其實就是學習各種Web開發需要?的到注解 a. RequestMapping: 路由…

[Linux] shell腳本的函數和數組

一、函數 1.1 函數的定義 函數是腳本的別名 作用&#xff1a;函數可以避免代碼重復&#xff0c;可讀性強&#xff0c;可以簡化腳本。 格式&#xff1a;函數名&#xff08;&#xff09;{腳本} 1.2 如何使用函數 1.定義 2.調用 函數一定要先定義再使用 例子&#xff1a…

編譯原理Lab1-用FLEX構造C-Minus-f詞法分析器

HNU編譯原理lab1實驗–根據cminux-f的詞法補全lexical_analyer.l文件&#xff0c;完成詞法分析器。 本文沒有添加任何圖片&#xff0c;但是以復制輸出的形式展現出來了實驗結果。 實驗要求&#xff1a; 根據cminux-f的此法補全lexical_analyer.l文件&#xff0c;完成詞法分析…

國家超級計算濟南中心低代碼平臺應用實踐

摘要&#xff1a;文章主要介紹了濟南超算使用低代碼平臺明道云解決了一系列業務問題&#xff0c;包括資產管理、人員與機構管理、流程制度管理等。通過明道云平臺&#xff0c;濟南超算成功地將不同部門的業務信息進行整合&#xff0c;提高了工作效率和管理水平。文章還強調了明…

計算機端口

前言 計算機端口&#xff08;Port&#xff09;是一種用于在計算機網絡中標識特定服務或應用程序的機制。 端口是一個數字&#xff0c;范圍從0到65535&#xff0c;用于將網絡通信分配給不同的應用程序或服務。 在 Internet 協議套件&#xff08;TCP/IP&#xff09;中&#xff0…

MG-HSF

作者未提供代碼

Go語言中結構體的使用和示例

結構體&#xff08;簡稱struct&#xff09;用于創建不同數據類型的成員集合&#xff0c;放入一個單一的變量中。雖然數組用于將相同數據類型的多個值存儲在單一變量中&#xff0c;但結構體用于將不同數據類型的多個值存儲在單一變量中。結構體對于將數據組合在一起以創建記錄非…

openGL之紋理 :第二課

#include "glew.h" #include "glfw3.h" #include "SOIL2.h"//如何解析輸入的數據流 0&#xff0c;1,2 分三部分 GLchar * vertextSrc " #version 330 core \n \layout (location 0) in vec3 position; \layout (location 1) in vec3 col…