C 資料結構基本演算法 持續更新

2021-10-04 17:41:49 字數 2281 閱讀 7809

/// /// 測試快排

///

public static void testquicksort();

quicksort(data, 0, data.length - 1); //-1防止下標越界

for (int i = 0; i < data.length; i++)

} /// /// 快速排序

///

///

///

///

public static void quicksort(int dataarray, int left, int right)

dataarray[i] = dataarray[j];

//前標記後移

while (i < j && dataarray[i] <= x)

dataarray[j] = dataarray[i];

}//找到中心

dataarray[i] = x;

//分段遞迴

quicksort(dataarray, left, i - 1);

quicksort(dataarray, i + 1, right);

} }/// /// 查詢乙個亂序陣列中 第k大的值

///

/// 陣列

/// 第幾大的數字

///

public int findkthlargest(int array, int k)

private int findk(int array, int k, int start, int end)

array[low] = array[high];

while (low < high && array[low] >= temp)

array[high] = array[low];

}array[high] = temp;

if (high == k - 1)

else if (high > k - 1)

else

}

/// /// 字串相乘

///

/// 第乙個值

/// 第二個值

///

public string multiply(string num1, string num2)

for (int i = 0; i < num1chararr.length; i++)

}int temp = 0;

string sumstr = "";

listrestemp = new list();

for (int i = 0; i < (num1.length + num2.length); i++)

for (int i = 0; i < sumtemp.count; i++)

char resarr = sumstr.tochararray();

array.reverse(resarr);

string resstr = new string(resarr);

int zeroinedx = 0;

while (resarr[zeroinedx] == '0')

return resstr.substring(zeroinedx);

}}

/// /// 選擇排序

///

/// 需要排序的int陣列

/// mintomax 從小到大

///

public static int selectsort(int array, bool mintomax = true) }}

return array;

}/// /// 氣泡排序

///

/// 需要排序的int陣列

/// mintomax 從小到大

///

public static int bubblesort (int array, bool mintomax = true) }}

return array;

}/// /// 二分查詢

///

/// 有序的int陣列

/// 要找的值

/// 開始索引 = 0

/// 結束索引= array.length

///

public static int binarysearch (int array, int key, int low, int high)

筆試總結 資料結構篇 持續更新

1.單鏈表的沒個節點都具有唯一的前驅節點和唯一的後繼節點,所以當兩個單鏈表存在相交的節點時,這兩個鍊錶則同時擁有這個節點,以及這個節點的所有後繼節點,當這個公共節點是尾節點時,他們則只含有公共乙個節點 尾節點。2.快慢指標是判斷單鏈表是否有環的一種方法 兩個指標,每次移動的步長為2叫做快指標,每次移...

考研資料結構題目 樹(持續更新)

在度為4的樹中,若有20個度為4的節點,10個度為3的節點,1個度為2的節點,10個度為1的節點,則樹t的葉節點個數是?這道題是2010年計算機聯考真題。我用手算 半蠻力 解出答案是82,結果是對的,但是耗時較長,而且如果數字再大點也不好算了,因此肯定存在一種更加高效的方法。我們知道,於是樹的節點個...

資料結構學習筆記 持續更新

資料結構概述 定義 我們如何把現實中大量而複雜的問題以特定的資料型別和特定的儲存結構儲存到儲存到主儲存器 記憶體 中,以及在此基礎上為實現某個功能 比如查詢某個元素,刪除某個元素,對所有元素進行排序 而執行相應的操作,這個相應的操作也叫演算法 資料結構 個體 個體的關係 演算法 對儲存資料的操作 演...