日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

题目1:学生成绩档案管理系统(实验准备)

發布時間:2025/3/21 windows 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 题目1:学生成绩档案管理系统(实验准备) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據結構課程實踐系列

題目1:學生成績檔案管理系統(實驗準備)

題目2:隱式圖的搜索問題(A*算法解決八數碼)

題目3:文本文件單詞的檢索與計數(實驗準備)

文章目錄

  • 數據結構課程實踐系列
    • 題目1:學生成績檔案管理系統(實驗準備)
    • 題目2:隱式圖的搜索問題(A*算法解決八數碼)
    • 題目3:文本文件單詞的檢索與計數(實驗準備)
  • 聲明
    • 實驗要求
  • 編程語言以及開發環境的選擇
    • 所需知識
  • 所需知識導出
    • DAO運用
    • 簡單排序算法
      • 雙向冒泡排序
      • 快速排序
      • 希爾排序
      • 堆排序

聲明

實驗要求

  • 學生信息錄入,信息包括學號、姓名、專業、四門課成績、總分、名次;
  • 系統可對學生信息瀏覽、增加、刪除和修改;
  • 按學生成績確定名次及信息輸出,雙向冒泡排序、希爾排序、快速排序、堆排序
  • 要求可對學生信息查詢,根據學號或姓名進行查找;
  • 信息修改僅可修改四門課成績;
  • 文件存取學生信息。

編程語言以及開發環境的選擇

編程語言:java
開發環境:IDE使用的是idea,jdk版本為1.8

所需知識

一些簡單排序算法,以及DAO

所需知識導出

DAO運用

DAO (Database Access Object) 數據訪問對象,將數據對象常用的訪問方法(增刪改查)封裝在指定的對象中,該對象就稱為DAO對象,DAO對象是數據層構建的基礎,由業務層對象進行調用,DAO中定義的數據訪問方法和業務無關。
DAO設計模式主要分為三層:

  • 顯示層:主要使用JSP/Servlet進行頁面效果的顯示
  • 業務層:(Business Object,數據對象)會將多個原子性的DAO操作進行組合,組合成一個完整的業務邏輯。
  • 數據層:(DAO,Data Access Object,數據庫訪問對象)提供多個原子性的DAO操作,例如:增、刪、改、查,都是原子性操作。
  • 其實也就是利用一個Dao對象,然后這個對象里面實現了相應的增刪改查,不讓用戶去直接接觸到數據庫。感覺和windows中線性虛擬地址的運用有著相同的味道

    簡單排序算法

    雙向冒泡排序

    傳統冒泡排序運作如下:(從后往前)

  • 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
  • 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數
  • 針對所有的元素重復以上的步驟,除了最后一個。
  • 持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較
  • 雙向冒泡排序算法的運作如下:

  • 傳統冒泡氣泡排序的雙向進行,先讓氣泡排序由左向右進行,再來讓氣泡排序由右往左進行,如此完成一次排序的動作
  • 使用left與right兩個旗標來記錄左右兩端已排序的元素位置。
  • public List<Student> doubleBubbleSort(List<Student> studentList){List<Student> list=studentList;Student student=null;int left=0,right=studentList.size()-1;while(left<right){for(int i=left+1;i<=right;i++){if(list.get(left).getSum()<list.get(i).getSum()){student=list.get(i);list.set(i,list.get(left));list.set(left,student);}}left++;for(int i=right-1;i>=left;i--){if(list.get(right).getSum()>list.get(i).getSum()){student=list.get(i);list.set(i,list.get(right));list.set(right,student);}}right--;}return list;}

    快速排序

    快速排序使用分治法(Divide and conquer)策略來把一個序列(list)分為兩個子序列(sub-lists)。
    快速排序算法的運作如下:

  • 從數列中挑出一個元素,稱為“基準”(pivot),
  • 重新排序數列,所有比基準值小的元素擺放在基準前面,所有比基準值大的元素擺在基準后面(相同的數可以到任何一邊)。在這個分區結束之后,該基準就處于數列的中間位置。這個稱為分區(partition)操作
  • 遞歸地(recursively)把小于基準值元素的子數列和大于基準值元素的子數列排序。
  • 遞歸到最底部時,數列的大小是零或一,也就是已經排序好了。這個算法一定會結束,因為在每次的迭代(iteration)中,它至少會把一個元素擺到它最后的位置去。

    public List<Student> quickSort(List<Student> studentList){List<Student> list=studentList;quickSort1(list,0,list.size()-1);return list;}public void quickSort1(List<Student> studentList,int left,int right){if(left<right){int i=left,j=right;Student student=studentList.get(left);double x=student.getSum();while(i<j){while((i<j)&&(studentList.get(j).getSum()<x)){j--;}if(i<j){studentList.set(i,studentList.get(j));i++;}while((i<j)&&(studentList.get(i).getSum()>x)){i++;}if(i<j){studentList.set(j,studentList.get(i));j--;}}studentList.set(i,student);quickSort1(studentList,left,i-1);quickSort1(studentList,i+1,right);}}

    希爾排序

    希爾排序是非穩定排序算法,把記錄按下標的一定增量分組,對每組使用直接插入排序算法排序;隨著增量逐漸減少,每組包含的關鍵詞越來越多,當增量減至1時,整個文件恰被分成一組,算法便終止。

    public List<Student> shellSort(List<Student> studentList){List<Student> list=studentList;Student student=null;int j;for (int gap = list.size() / 2; gap > 0; gap /= 2) {for (int i = gap; i < list.size(); i++) {student=list.get(i);double tmp=student.getSum();for (j = i; j >= gap && tmp>list.get(j-gap).getSum(); j -= gap) {list.set(j,list.get(j-gap));}list.set(j,student);}}return list;}

    堆排序

    堆排序(英語:Heapsort)是指利用堆這種數據結構所設計的一種排序算法。堆積是一個近似完全二叉樹的結構,并同時滿足堆積的性質:即子結點的鍵值或索引總是小于(或者大于)它的父節點。

    public List<Student> heapSort(List<Student> studentList){List<Student> list=studentList;int len = list.size();buildMaxHeap(list, len);for (int i = len - 1; i > 0; i--) {swap(list, 0, i);len--;heapify(list, 0, len);}return list;}private void buildMaxHeap(List<Student> studentList, int len) {for (int i = (int) Math.floor(len / 2); i >= 0; i--) {heapify(studentList, i, len);}}private void heapify(List<Student> studentList, int i, int len) {int left = 2 * i + 1;int right = 2 * i + 2;int largest = i;if (left < len && studentList.get(left).getSum() < studentList.get(largest).getSum()) {largest = left;}if (right < len && studentList.get(right).getSum() < studentList.get(largest).getSum()) {largest = right;}if (largest != i) {swap(studentList, i, largest);heapify(studentList, largest, len);}}private void swap(List<Student> studentList, int i, int j) {Student student=studentList.get(i);studentList.set(i,studentList.get(j));studentList.set(j,student);}

    總結

    以上是生活随笔為你收集整理的题目1:学生成绩档案管理系统(实验准备)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 黄色在线观看国产 | www.日日干| 91玉足脚交嫩脚丫在线播放 | 波多野结衣视频免费 | 白浆av| www.超碰97| 午夜影院h | 国产精品羞羞答答 | 欧美精品久久久久久久久久 | 波多野结衣一本 | 得得的爱在线视频 | 婷婷色在线视频 | 日韩美一区二区三区 | 亚洲咪咪 | 最新中文字幕视频 | 精品人妻无码中文字幕18禁 | 二级毛片 | 国产精品视频看看 | 激情五月色综合国产精品 | 亚洲国产影院 | 国产精品老熟女视频一区二区 | 午夜丰满寂寞少妇精品 | 老头老太吃奶xb视频 | 潘金莲一级淫片免费放动漫 | 天天碰视频 | www.国产一区| 日日撸夜夜操 | 久久成人综合网 | v在线 | 朝桐光在线观看 | 四虎影院在线视频 | 午夜国产一级 | 成人国产精品久久久 | 黄色片在哪里看 | 黄色二级视频 | av在线资源站 | 春意影院福利社 | www九色 | 噜噜噜噜私人影院 | 四虎看黄| 国产综合久久 | 亚洲免费片 | 91精品国产一区二区三区蜜臀 | 国内av网 | 亚洲hh | 国产成人午夜精品 | 国产偷拍一区二区 | 日韩人妻无码精品久久久不卡 | 在线视频啪 | 欧美成年视频 | 日韩一区电影 | 91色在线视频 | 亚洲一二三av | 在线观看日本一区二区 | 亚洲国产日韩在线 | 丝袜av在线播放 | 久99久视频 | 丁香婷婷成人 | 日本一级一片免费视频 | 成人玩具h视频 | 久久女同互慰一区二区三区 | 琪琪秋霞午夜被窝电影网 | 色婷婷六月天 | 久久久久久久无码 | 欧美日韩一区二区三区不卡视频 | 一集毛片| 91精品婷婷国产综合久久 | 色啪综合 | 仙踪林久久久久久久999 | 肉视频在线观看 | 福利视频一二区 | 美女福利视频在线 | 爱吃波客今天最新视频 | 欧美熟妇一区二区 | 色呦呦网| 九九精品在线观看 | 新版红楼梦在线高清免费观看 | 免费高清欧美大片在线观看 | 爱情岛成人| 成人午夜视频免费看 | 亚洲永久在线 | 亚洲狼人综合 | 在线岛国 | 午夜理伦三级理论 | 国产欧美一区二区三区国产幕精品 | 久久中文字 | 国产裸体永久免费视频网站 | 91看片淫黄大片91桃色 | 午夜毛片在线观看 | 欧美大尺度做爰啪啪床戏明星 | 6080毛片| 久久精品视频播放 | 日韩欧洲亚洲 | 伊人av在线 | 国产亚洲av片在线观看18女人 | 国产视频99 | 少妇被躁爽到高潮 | av中文字幕网址 | 日韩a级一片 |