C 後端面試 筆試基礎 1 幾大排序演算法

2021-10-07 20:54:42 字數 2687 閱讀 7699

面試和筆試中常常會遇到排序演算法的提問和面試;

這是基礎必須打牢

(該圖表來自於「yj_coder」)

將乙個資料插入到已排序好的有序表中,從而得到乙個新的、總長度增加1的有序表。

即:先將序列的第1個記錄看成是乙個有序的子串行,然後從第2個記錄逐個進行插入,直至整個序列有序為止。

要點:設立哨兵,作為臨時儲存和判斷陣列邊界之用。

簡單來講,選擇排序的思路就是:

下面**的實現思路就是:

從已有佇列中,選擇乙個最小的,和最前面的資料交換(插入),最後會排列成乙個遞增的序列;

// 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。

// 再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。

// 重複第二步,直到所有元素均排序完畢。

void

xuanzesort

(vector<

int>

&a)swap

(a[min]

, a[i]);

}}

20200725更新,面試手撕氣泡排序;既然考到了,特地來更新下:

void

bubble_sort

( elementtype a,

int n )}}

if( flag==0)

break

;/* 全程無交換 */

}}

#include

#include

#include

using

namespace std;

// void quicksort(int s, int l, int r);

void

swapd

(int

&a,int

&b)//拷貝和指標 引用

void

quicksort

(int arr,

int low,

int high)

;//訪問陣列都是訪問 不是拷貝

void

quicksortv

(vector<

int>

&ss,

int low,

int high)

}/*從右向左找比key小的值*/

while

(ss[

--j]

> key)}if

(i >= j)

break

;/*交換i,j對應的值*/

int temp = ss[i]

; ss[i]

= ss[j]

; ss[j]

= temp;

//swapd(ss[i], ss[j]);

}/*中樞值與j對應值交換*/

//swapd(ss[low], ss[j]);

int temp = ss[low]

; ss[low]

= ss[j]

; ss[j]

= temp;

quicksortv

(ss, low, j -1)

;quicksortv

(ss, j +

1, high);}

intmain()

; vector<

int> ss =

;quicksort

(s,0,11

);quicksortv

(ss,0,

11);for

(int i =

0; i <

12;i++

) cout << endl;

}void

quicksort

(int arr,

int low,

int high)

}/*從右向左找比key小的值*/

while

(arr[

--j]

> key)}if

(i >= j)

break

;/*交換i,j對應的值*/

int temp = arr[i]

; arr[i]

= arr[j]

; arr[j]

= temp;

}/*中樞值與j對應值交換*/

int temp = arr[low]

; arr[low]

= arr[j]

; arr[j]

= temp;

quicksort

(arr, low, j -1)

;quicksort

(arr, j +

1, high)

;// if (l< r)

// // s[i] = x;

// quicksort(s, l, i - 1); // 遞迴呼叫

// quicksort(s, i + 1, r);

// }

}

前端面試筆試題(二)

1 css3新增偽類有哪些?2 html5有哪些新特性 移除了哪些元素?如何處理html5新標籤的瀏覽器相容問題?如何區分html和html5?3 使用jquery遇到過哪些問題?你是怎麼解決的?4 jquery中有哪些方法可以遍歷節點?5 在ajax中data主要有幾種方式?6 自定義指令 v c...

前端面試筆試題分享

2019年9月中旬,決定從之前的公司離職。恰逢家裡有些事情,我 上旬的末尾重新回到上海,並與中旬開始投遞簡歷。感覺不同於以前,不需要怎麼複習就能拿 offer,我開始去面試的時候,大多時候面壁。在這期間,想想還是寫點 blog,記錄下來這次特殊的求職經歷,並以此共勉。筆試題其實對面試者來說,並不友好...

前端面試筆試複習(5)

1 純css畫乙個三角形 2 不用css的border,用其他屬性模擬邊框 div 6 地理定位 7 拖放api 8 web worker 9 web storage 10 websocket 外邊距塌陷也稱為外邊距合併,是指兩個在正常流中相鄰 兄弟或父子關係 的塊級元素的外邊距,組合在一起變成單個...