C語言II部落格作業02

2022-07-03 07:27:11 字數 1928 閱讀 2544

這個作業屬於哪個課程

這個作業要求在**

homework/11822

這個作業的目標

1.讓我們初步了解建構函式 2.讓我們了解並且學會運用陣列來解決問題

學號20209154

第七章 陣列 7.17.1 輸出所有大於平均值的數

1.學生知道在哪種情況下可以使用構造資料型別—陣列進行資料的處理

2.掌握用一維陣列進行程式設計

3.掌握選擇排序法和二分查詢法

能否快速找出乙個陣列中的兩個數字,讓這兩個數字之和等於乙個給定的值,為了簡化起見,我們假設這個陣列中肯定存在至少一組符合要求的解。

解法一:採用窮舉法,從陣列中任意取出兩個數字,計算兩者之和是否為給定的數字。

解法二:對陣列中的每個數字arr[i]都判別sum-arr[i]是否在陣列中。

解法三:對陣列進行排序,然後使用二分查詢法針對arr[i]查詢sum-arr[i]。

要求:

解法一:是逐一列舉問題所涉及的所有情形,並根據問題提出的條件檢驗哪些是問題的解

解法二:是假設已知其中乙個數,在陣列中找出另乙個數

解法三:是運用了二分查詢法,縮短了程式編譯的時間

氣泡排序:重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,順序不對就交換,直到沒有相鄰元素需要交換時排序完成

選擇排序:每一次從待排序的資料元素中選出最小(或最大)的乙個元素,存放在序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾

直接插入排序:將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的、個數加一的有序資料

二分插入排序:在一組有序的資料中,找到中間元素,如果中間元素比當前元素大,則當前元素要插入到中間元素的左側;否則,當前元素要插入到中間元素的右側,找到當前元素的插入位置 i 之後,把 i 和 i 之後的元素從後往前依次後移乙個位置,然後再把當前元素放入位置 i。

快速排序:通過一趟排序將要排序的資料分割成獨立的兩部分,其中一部分的所有資料都比另外一部分的所有資料都要小,然後再按此方法對這兩部分資料分別進行快速排序

堆排序:heap-sort先呼叫build-max-heap將陣列改造為最大堆,然後將堆頂和堆底元素交換,之後將底部上公升,最後重新呼叫max-heapify保持最大堆性質。由於堆頂元素必然是堆中最大的元素,所以一次操作之後,堆中存在的最大元素被分離出堆,重複n-1次之後,陣列排列完畢。

這周學習了建構函式和陣列,我感覺陣列好難,要哭遼,好多應該掌握的東西和題目我都不會,要多看書,多做題,腦瓜子要動起來。

氣泡排序是對於一組要排序的元素列,依次比較相鄰的兩個數,將比較小的數放在前面,比較大的數放在後面,如此繼續,直到比較到最後的兩個數,將小數放在前面,大數放在後面,重複步驟,直至全部排序完成

C語言II部落格作業02

作業屬於哪個課程 班級的鏈結 這個作業要求在 作業要求的鏈結 這個作業的目標 熟練運用陣列進行程式設計,學會使用一維陣列進行程式設計,掌握選擇排序法和二分查詢法 學號20208927 2.1 完成pta作業,並給出程式設計題完成截圖 2.2 題目 快速尋找滿足條件的兩個數 能否快速找出乙個陣列中的兩...

C語言II部落格作業02

這個作業屬於哪個課程 這個作業要求在 homework 11423 這個作業的目標 學習檔案的使用與知識 學號 20209165 1.學生知道在哪種情況下可以使用構造資料型別 陣列進行資料的處理 2.掌握用一維陣列進行程式設計 3.掌握選擇排序法和二分查詢法 能否快速找出乙個陣列中的兩個數字,讓這兩...

C語言II部落格作業02

這個作業屬於哪個課程 這個作業要求在 homework 11808 這個作業的目標 熟練的掌握陣列的編譯概念還有排序法 學號 20209222 第七章 陣列 7.17.1 輸出所有大於平均值的數 1.學生知道在哪種情況下可以使用構造資料型別 陣列進行資料的處理 2.掌握用一維陣列進行程式設計 3.掌...