11 《Linux C 一站式程式設計》排序與查詢

2021-10-06 01:32:50 字數 1596 閱讀 5189

插入排序是指在待排序的元素中,假設前面n-1(其中n>=2)個數已經是排好順序的,現將第n個數插到前面已經排好的序列中,然後找到合適自己的位置,使得插入第n個數的這個序列也是排好順序的。按照此法對所有元素進行插入,直到整個序列排為有序的過程,稱為插入排序 。

}歸併排序是乙個典型的基於分治的遞迴演算法。它不斷地將原陣列分成大小相等的兩個子陣列(可能相差1),最終當劃分的子陣列大小為1時,將劃分的有序子陣列合併成乙個更大的有序陣列。

#include

#define len 8

int a[len]=;

void

merge

(int start,

int mid,

int end)

for(j =

0; j < n2; j++)

i = j =0;

k = start;

while

(i < n1 && j < n2)

else

}while

(i < n1)

while

(i < n2)

}void

sort

(int start,

int end)

}int

main

(void

)

從任意輸入字串中找出某個字母的位置並返回這個位置,如果找不到就返回-1;

#include

char str=

"hello world!"

;int

indexof

(char letter)

i++;}

return-1

;}intmain()

假設表中元素是按公升序排列,將表中間位置記錄的關鍵字與查詢關鍵字比較,如果兩者相等,則查詢成功;否則利用中間位置記錄將表分成前、後兩個子表,如果中間位置記錄的關鍵字大於查詢關鍵字,則進一步查詢前一子表,否則進一步查詢後一子表。重複以上過程,直到找到滿足條件的記錄,使查詢成功,或直到子表不存在為止,此時查詢不成功。

#include

#define len 9

int arr[len]=;

intbunaryseartch

(int number)

else

if(number > arr[middle]

)else

}return-1

;}intmain()

Linux C程式設計一站式學習

北京亞嵌教育研究中心 ps ef grep sctp grep全稱是global regular expression print,表示全域性正規表示式.gdb除錯又看一遍。迅速用起 pthread cond timedwait 條件變數是利用執行緒間共享的全域性變數進行同步的一種機制,主要包括兩個...

Linux C程式設計一站式學習 筆記

關於程式的討論裡提到了c語言的可移植,原本不知道為什麼,現在知道,原來是因為各種平台上都有c語言的編譯器,這就好像是一種由於廣泛使用而成為規範的東西一樣,當所有機器上都有你的編譯器的時候,你的可移植性當然強了。之前看v6shell的 就沒明白詞法和語法有什麼差別,這裡講到了詞法就是單詞 token ...

LinuxC程式設計一站式學習 堆疊

本科學習資料結構時實踐比較少,因此最近開始複習,看到 既可以打基礎,又可以順便學習linux的知識。原始 include define max row 5 define max col 5 struct point stack 512 int top 0 int maze 5 5 void push...