程式設計--Quick Sort 通訊一甲 B09622048 楊穎穆.

Slides:



Advertisements
Similar presentations
While 迴圈 - 不知重複執行次數
Advertisements

《C语言程序设计》复习
親愛的老師您好 感謝您選用本書作為授課教材,博碩文化準備本書精選簡報檔,特別摘錄重點提供給您授課專用。 說明: 博碩文化:
“八皇后”问题 崔萌萌 吕金华.
放大器-頻率響應實驗 科系:通訊工程學系 執導老師:王志湖 學號:B 姓名:何信賢.
C语言程序设计 第十二章 位运算.
第5章 函数与模块化设计 学习目的与要求: 掌握函数的定义及调用方法 理解并掌握参数的传递方法 理解函数的嵌套与递归调用
C语言程序设计 课程 第5章 数组 主讲:李祥 博士、副教授 单位:软件学院软件工程系.
C 程序设计实例 1. 问题描述 2. 数据结构 3. 算法分析 4. 参考程序 5. 改进说明.
Do.For.While.正三角.倒正三角.倒九九乘法表
選擇排序法 通訊一甲 B 楊穎穆.
C的發展史 C程式初體驗 C程式設計基本注意事項 上機實習課程
排序 Sorting.
適用於多選一 可減少if 與 else配對混淆的錯誤.
If … else 選擇結構 P27.
使用VHDL設計—4位元加法器 通訊一甲 B 楊穎穆.
使用VHDL設計—4位元位移器 通訊一甲 B 楊穎穆.
STRUCTURE 授課:ANT 日期:2010/5/12.
计算概论 第十八讲 C语言高级编程 结构与习题课 北京大学信息学院.
C語言簡介 日期 : 2018/12/2.
程式撰寫流程.
第2章 线性表 线性表抽象数据类型 顺序表 主要知识点 单链表 循环单链表 循环双向链表 静态链表 设计举例.
第5章 堆疊(Stacks) 5-1 堆疊的基礎 5-2 堆疊的表示法 5-3 堆疊的應用 - 運算式的計算與轉換
電子學實驗—自給偏壓共射極放大 通訊二甲 B 楊穎穆.
Introduction to the C Programming Language
作弊是否很有诱惑性? 上堂课已经讲了 作业不一定在两个小时里都能完成 答疑没有一个人? 作弊是有记录的 心理系很多同学集体作弊,让人震惊
C语言 程序设计基础与试验 刘新国、2012年秋.
多维数组与指针 用指针变量可以指向一维数组中的元素,也可以指向多维数组中的元素。但在概念上和使用上,多维数组的指针比一维数组的指针要复杂一些。 1. 多维数组元素的地址 先回顾多维数组的性质,可以认为二维数组是“数组的数组”,例 : 定义int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};
使用VHDL設計-多工器/解多工器 通訊一甲 B 楊穎穆.
計數式重複敘述 for 迴圈 P
数据结构 第一章 绪论.
第5讲 结构化程序设计(Part II) 周水庚 2018年10月11日.
第0章作业: 教材P12-练习与实践 1.写出用符号’*’输出描绘汉字”大”的流程图。
邏輯設計--不穩多諧振盪器 通訊一甲 B 楊穎穆.
電子學實驗--CE放大電路 通訊二甲 B 楊穎穆.
使用VHDL設計 七段顯示器 通訊工程系 一年甲班 姓名 : 蘇建宇 學號 : B
C语言复习2----函数.
程式設計期末測驗 通訊一甲 B 楊穎穆.
Main() { Dfas Asdfasf fasdfa } #include <stdio.h> void main( ) {
共源極頻率響應 科系:通訊工程學系 執導老師:王志湖 學號:B 姓名:何信賢.
Chap 5 函数 5.1 计算圆柱体积 5.2 使用函数编写程序 5.3 变量与函数.
輸出與輸入(I/O).
本节内容 字符与字符串 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C qsort.
資料結構與C++程式設計進階 遞迴(Recursion) 講師:林業峻 CSIE, NTU 6/ 17, 2010.
程式設計-- Binary Search 通訊一甲 B 楊穎穆.
第一章 C语言概述 目录 什么是语言、程序 C语言的历史与发展 C语言的书写形式与程序结构 运行C语言的步骤与方法
Introduction to the C Programming Language
自停式向下計數器 通訊一甲 B 楊穎穆.
電子學實驗--全波整流 通訊二甲 B 楊穎穆.
元 排 序 法.
Introduction to the C Programming Language
程式設計--linear search 通訊一甲 B 楊穎穆.
電子學實驗—共集極放大電路 通訊二甲 B 楊穎穆.
使用VHDL設計-8x3編碼電路 通訊一甲 B 楊穎穆.
可變式計數器 通訊一甲 B 楊穎穆.
積分電路 科系:通訊工程學系 執導老師:王志湖 學號:B 姓名:何信賢.
查表法&電腦IO Port二進制轉七段顯示器
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
Programming & Language Telling the computer what to do
C/C++基礎程式設計班 陣列 講師:林業峻 CSIE, NTU 3/14, 2015.
使用VHDL設計-七段顯示 通訊一甲 B 楊穎穆.
Array(陣列) Anny
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
Introduction to the C Programming Language
函式庫補充資料 1.
C语言基础学习 从外行到入门.
微 處 理 機 專 題 – 8051 C語言程式設計 主題:階乘計算
隨機函數.
Presentation transcript:

程式設計--Quick Sort 通訊一甲 B09622048 楊穎穆

目錄 1.目的 2.排序原理 3.程式 4.實驗結果顯示 5.參考資料

目的 1. 試輸入n個未排序的整數到陣列中 2. 嘗試把未排序的整數到陣列中之數值依照陣列位置與值印出 3. 嘗試用快速排序(Quick Sort)法把陣列中之數值由小而大地排序 4. 嘗試把排序後的整數到陣列中之數值依照陣列位置與值印出

排序原理 A[0] A[1] A[2] A[3] A[4] 2 8 7 1 3 2 1 3 8 7

程式 #include <stdio.h> #include <stdlib.h> #define n 8 int Partition(int a[],int p, int r){ int j,temp; int x=a[r]; int i=p-1; for(j=p;j<r;j++){ if(a[j]<=x){ i++; if(i !=j){ temp=a[i]; a[i]=a[j]; a[j]=temp; }

temp=a[i+1]; a[i+1]=a[j]; a[j]=temp; printf("\n"); for(j=0;j<n;j++) printf(" %d",a[j]); return i+1; } int quicksort(int a[],int p,int r){ int q; if(p<r){ q=Partition(a,p,r); quicksort(a,p,q-1); quicksort(a,q+1,p);

int main(void){ int t,A[n]; for(t=0;t<n;t++){ printf(" 請輸入任意數字[%d]:",t); scanf("%d",& A[t]); } quicksort(A,0,n-1); printf("\n由小到大排序後的數字[%d]:",t); printf("%d \n",A[t]); system("PAUSE"); return 0;

實驗結果顯示

參考資料 主要的參考資料來至”演算法概論”這本書及王志湖老師上課所教授的內容。

END