C語言:插入排序
int main()
{
int a[10] = {0};//定義一個數組並初始化
int i;//定義一個迴圈變數
int j;//定義一個迴圈變數
int temp;//定義一個人臨時變數
printf("Please input 10 numbers:\n");//迴圈輸入十個數
for (i = 0; i < 10; i++)
{
scanf("%d",&a[i]);
}
for(i = 1; i < 10; i++)//從陣列第二個開始迴圈
{
temp = a[i];//把a[i]的值給temp
for(j = i - 1; j >= 0; j--)
{
if(temp > a[j])//temp向前一個一個比較,如果大於前面元素的值
{
a[j + 1] = a[j]; //就把小的值給後面
}
else //如果小於前面的值,就終止比較
{
break;
}
}
a[j + 1] = temp;//再把temp值放到(此處j的值與for迴圈中的i--相等)
}
for(i = 0; i < 10; i++)//迴圈輸出排序後的結果
{
printf("%5d",a[i]);
}
return 0;
相關推薦
C語言:插入排序
#include <stdio.h>int main(){int a[10] = {0};//定義一個數組並初始化int i;//定義一個迴圈變數int j;//定義一個迴圈變數int temp;//定義一個人臨時變數printf("Please input 10 numbers:\n");//迴
C語言:氣泡排序和選擇排序
pdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNjUyMTU2,size_16,color_FFFFFF,t_70)
C語言:氣泡排序法(升序排序法)
任務程式碼: 數字的排序: #include <stdio.h> #define SIZE 10 int main() { int a[SIZE]={12 ,43,9,13,67
C語言直接插入排序和折半插入排序演算法的實現
直接插入排序是是一種穩定的排序,其演算法簡便,適用於順序結構和鏈式結構,更適合於基本有序(正序)的情況。其空間複雜度為O(1),時間複雜度為O(n2)。下面是實現演算法: 先是預定義和型別定義: typedef int Status; typedef int ElemTyp
c語言實現插入排序
貼入原始碼` #include <stdio.h> #include <stdlib.h> #define N 8 //插入排序的實現 void insert(int a[],int n) //n為陣列a的長度 { i
C語言的插入排序
#include<stdio.h> #include<stdlib.h> #define N 8 void insert_sort(int a[],int n); //插入排序實現,這裡按從小到大排序 void insert_sort(int a[]
C語言:位元組排序與記憶體四區(II)
一. 接著I開始: 這四個區分別對應的是程式碼區、全域性變數區、堆區、棧區。 各區的詳細說明如下: 1、棧區(stack):由編譯器自動分配釋放 ,存放函式的引數值,區域性變數的值等。其操作方 式類似於資料結構中的棧。 2、堆區(heap: 一般
C語言:位元組排序與記憶體四區(I)
I.位元組排序概念: 位元組順序是指佔記憶體多於一個位元組型別的資料在記憶體中的存放順序,通常有小端(Little-endian)、大端(Big-endian)兩種位元組順序。小端位元組序指低位元組資料存放在記憶體低地址處,高位元組資料存放在記憶體高地址處;大
排序算法的C語言實現(上 比較類排序:插入排序、快速排序與歸並排序)
大於等於 額外 通過命令 無序 tro 需要 目錄 線性 如何選擇 總述:排序是指將元素集合按規定的順序排列。通常有兩種排序方法:升序排列和降序排列。例如,如整數集{6,8,9,5}進行升序排列,結果為{5,6,8,9},對其進行降序排列結果為{9,8,6,5}。雖然排序的
C語言入門:插入排序(程式碼實現,而不是排序方法闡述)
適用於理解排序方法思路而不清楚程式碼如何實現的C語言入門者 簡易流程圖: //插入排序,這裡以6個數的排序為例 #include <stdio.h> int main (void) { int a[6],i,j,mid,k; p
C語言:歸並排序
tar merge ret void class while std stdio.h 歸並排序 歸並排序(C語言)。 先上代碼,理論會後面一起總結。 1. 遞歸 2. 非遞歸 #include <stdio.h> #include <stdlib.h
演算法實現:插入排序(C/C++、Python)
虛擬碼: INSERTION-SORT for j <- 2 to length[A] key <- A[j] Insert A[j]into the sorted sequence A[l...j-1]. i <- j - 1 wh
《C語言》氣泡排序、快速排序、選擇排序、堆排序、桶排序、插入排序。
氣泡排序、快速排序、選擇排序、堆排序、桶排序、插入排序。 Main.c MySort.h MySort.c Main.c #include <time.h> #include "MySort.h" #define N 10
C語言中常用排序演算法(氣泡排序、選擇排序、插入排序、希爾排序、快速排序、堆排序)實現比較
以下程式在win10 X64位作業系統,使用VS2017執行驗證可行 排序是非常重要且很常用的一種操作,有氣泡排序、選擇排序、插入排序、希爾排序、快速排序、堆排序等多種方法。 例項1 冒泡法排序 1.前言: 陣列中有N個整數,用冒泡法將它們從小到大(或從大到小)排序。冒泡法
C語言:呼叫子函式,實現選擇排序和字串連線
2018年11月14日 19:57:26 return 微明 閱讀數:1 個人分類: C語言
C語言:簡單選擇排序
題目描述 編一程式用簡單選擇排序方法對n個整數排序(從大到小)。 對n個數進行降序排列,簡單選擇排序的演算法思想如下: 1)首先通過n-1次比較,從n個元素中找出值最大的元素,將它與第一個元素交換。(第一趟排序)。 2)再通過n-2次比較,從剩餘的n-1個元素中找出值次大的元
C語言:對結構體變數進行氣泡排序
C語言:對結構體變數進行氣泡排序 我是一名在校大學生,初次寫部落格,希望各位大佬不喜勿噴,這個小程式,僅供參考,希望對大家有所幫助。 分析題意: 1.定義結構體變數,並給變數賦值 2.使用氣泡排序進行排序。 定義: 1.Input()函式,接收使用者輸入的值。 2.Output()函
C語言:用單鏈表實現輸入排序
純當練習 連結串列頭結點儲存的資訊是連結串列長度 平臺VS2015 #include<stdio.h> #include<stdlib.h> #include<time.h> struct ListNod
C語言 資料結構排序與查詢 資料結構實驗之排序三:bucket sort
資料結構實驗之排序三:bucket sort Time Limit: 250MS Memory Limit: 65536KB Submit Statistic Problem Description 根據人口普查結果,知道目前淄博市大約500萬人口,你的
常見演算法:C語言中的排序演算法--氣泡排序,選擇排序,希爾排序
氣泡排序(Bubble Sort,臺灣譯為:泡沫排序或氣泡排序)是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小