//冒泡排序
void BubbleSort(ElemType A[], int n) {
int i, j, temp;
int flag=1;
for (i = 1; i <= n - 1&&flag; i++) {
flag = 0;//表示在本趟冒泡是否发生交换的标志
for (j = 1; j <= n - i; j++)
if (A[j] > A[j + 1]) {
temp = A[j];
A[j] = A[j + 1];
A[j + 1] = temp;
flag = 1;//发生交换
}
if (flag == 0)
return;
}
}
//快速排序
int QKPass(ElemType A[], int low, int high) {
ElemType pivot = A[low];
while (low < high)
{
while (low < high && A[high] >= pivot) --high;
A[low] = A[high];
while (low < high && A[low] <= pivot) ++low;
A[high] = A[low];
}
A[low] = pivot;
return low;
}
void QuickSort(ElemType A[], int low, int high) {
if (low < high) {
int pivotpos = QKPass(A, low, high);
QuickSort(A, low, pivotpos - 1);
QuickSort(A, pivotpos + 1, high);
}
}
void InputA(int* A, int n) {
int i;
for (i = 1; i <= n; i++) {
scanf_s("%d", &A[i]);
}
}
void PrintA(int *A,int n) {
for (int i = 1; i <= n; i++) {
printf("%2d", A[i]);
}
}
int main() {
int low = 0, high = 7;
int A[100];
InputA(A, 8);
//BubbleSort(A, 8);
//ShellSortw(A, 8);
//BinSort(A, 8);
InsertSort(A, 8);
for (int i = 1; i <= 8; i++) {
printf("%2d", A[i]);
}
system("pause");
return 0;
}

冒泡排序快速排序C语言的更多相关文章

  1. 快速排序_C语言_数组

    快速排序_C语言_数组 #include <stdio.h> void quickSort(int *, int, int); int searchPos(int *, int, int) ...

  2. 冒泡排序&快速排序

    1.排序分为以下四类共七种排序方法: 交换排序: 1) 冒泡排序  2) 快速排序 选择排序: 3) 直接选择排序  4) 堆排序 插入排序: 5) 直接插入排序  6) 希尔排序 合并排序: 7) ...

  3. 数组排序代码,冒泡排序&快速排序&选择排序

    冒泡排序: for(var i=0;i<arr.length-1;i++){ for(var j=0;j<arr.length-1-i;j++){ if(arr[j]>arr[j+1 ...

  4. 9, java数据结构和算法: 直接插入排序, 希尔排序, 简单选择排序, 堆排序, 冒泡排序,快速排序, 归并排序, 基数排序的分析和代码实现

    内部排序: 就是使用内存空间来排序 外部排序: 就是数据量很大,需要借助外部存储(文件)来排序. 直接上代码: package com.lvcai; public class Sort { publi ...

  5. php 冒泡排序 快速排序

    $a=array('3','8','1','4','11','7'); print_r($a); $len = count($a); //从小到大 for($i=1;$i<$len;$i++) ...

  6. 快速排序 - C语言

    看了这本<数据结构与算法分析>中的快速排序. 写下自己理解后的代码,以备后用. #include "stdio.h" void insertSort(int arr[] ...

  7. [数据结构] 快速排序C语言程序

    //由大到小//快速排序(待排序数组,左侧起点,右侧起点) void quickSort(int *array, int l, int r) { if ( l >= r) return; int ...

  8. 快速排序 C语言实现

    转载于> http://blog.chinaunix.net/uid-26404477-id-3329885.html 总的关键字比较次数:O(nlgn) 尽管快速排序的最坏时间为O(n2),但 ...

  9. 冒泡排序,C语言实现

    冒泡排序是一种稳定排序,时间复杂度平均为O(n^2),最好的时间复杂度为O(n),最坏为O(n^2). 排序时每次只比较当前元素与后一个 元素的大小,如果当前元素大于后一个元素,则交换,如此循环直到队 ...

  10. 冒泡排序(C语言)

    # include<stdio.h> int main(void) { int arr[10]={5,4,7,9,2,3,1,6,10,8}; //定义一个位排序的数组 int i; // ...

随机推荐

  1. java执行js脚本

    @Test public void aa() throws NoSuchMethodException { String regular = "function regular(args1) ...

  2. pdf转图片加水印压缩

    ''' pip install pymupdf pip install pillow ''' import os import uuid import fitz from PIL import Ima ...

  3. 祝 .NET 20周年生日快乐

    活动官网:https://dotnet.microsoft.com/zh-cn/

  4. 【ASP.NET Core】标记帮助器——元素筛选

    前一篇中老周从标记帮助的底层介绍关键性的接口,如 ITagHelper ,它是一个标志,用于识别哪些类属于 Tag Helper. 标记帮助器毕竟是针对 HTML 标记的,所以得筛选.说白了就是我写的 ...

  5. Windows QT程序配置删除网卡IP

    1.Windows下可在CMD控制终端使用Dos命令对指定网卡进行IP配置,需要使用管理员权限打开CMD终端 往网卡添加IP主要有以下两种方法: 方法1: netsh interface ip add ...

  6. 代码随想录算法训练营day11 | leetcode 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值

    基础知识 String StringBuilder 操作 public class StringOperation { int startIndex; int endIndex; { //初始容量为1 ...

  7. webform项目 aspx页面顶部提示运行时错误(.Net Framwork已下载还是报错)

    找到项目属性页 选择对应的.Net 框架,点击保存,重启一下就好了

  8. VSCode 国内镜像下载地址

    https://vscode.cdn.azure.cn/stable/,比如: https://vscode.cdn.azure.cn/stable/e4503b30fc78200f846c62cf8 ...

  9. 基于C++的OpenGL 07 之颜色

    1. 引言 本文基于C++语言,描述OpenGL的颜色 前置知识可参考: 基于C++的OpenGL 06 之摄像机 - 当时明月在曾照彩云归 - 博客园 (cnblogs.com) 笔者这里不过多描述 ...

  10. mac系统上hdfs java api的简单使用

    目录 1.背景 2.环境准备 3.环境搭建 3.1 引入jar包 3.2 引入log4j.properties配置文件 3.3 初始化Hadoop Api 4.java api操作 4.1 创建目录 ...