zoukankan      html  css  js  c++  java
  • C编程的指针涛 ---第九笔记

    //这里说的是一个指针,指向算法的应用
    //直接排序
    //每个排序算法是指针指向的每个元件的特性的方便的交流
    //这里的基本思想是,处理的记录的排序n - 1第二选择。


    //第i次操作选择i大(小)的记录放在第i个(或者n - i - 1 个)位置上。


    //即每次都将一个记录放在它终于的位置上,
    //这就是所谓的“各回各家”
    #include <iostream>
    #include <cstdio>
    using namespace std;
    void SelectSort(int *Array, int n)
    {
    int i, j, m, a;
    //从无序的序列中找到最小值的位置
    for(i = 0; i < n - 1; i++)
    {
    m = 1;
    for(j = i + 1; j < n; ++j)
    {
    if(*(Array + j) < *(Array + m))
    m = j;
    }
    /*
    *记录当前最小值的位置
    * */


    if(m != 1)
    {
    a = *(Array + m);
    *(Array + m) = *(Array + 1);
    *(Array + i) = a;
    }
    }


    }






    int main()
    {
    int i  = 0;
    int Array[10] = {12, 2, 37, 67, 90, 1, 78, 67, 2, 32};
    printf("待排序的数组为: ");
    for(i = 0; i < 10; ++i)
    {
    printf("%d ", *(Array + i));
    }
    SelectSort(Array, 10);
    printf(" 直接排序后的结果为: ");
    for(int j = 0; j <10; ++j)
    {
    printf("%d ", *(Array + j));
    }
    printf(" ");
    return 0;

    }



    //查找,当中涉及指针的偏移
    //查找分为顺序查找
    //折半查找
    //儿茶查找
    //分块查找
    //这里举的样例是二分查找
    #include <iostream>
    #include <cstdio>
    using namespace std;
    int BinarySearch(int * Array, int n, int x)
    {
    int low, high, middle;
    low = 0, high = n - 1;
    while(low <= high)
    {
    middle = (low + high)/2;
    if(*(Array + middle) == x)
    return 1;
    else
    {
    if(*(Array + middle) >= x)
    {
    high = middle - 1;
    }
    if(*(Array + middle) <=x)
    {
    low = middle + 1;
    }
    }

    }


    }






    int main()
    {
    int Array[10] = {2, 4, 5, 13, 15, 20, 30, 35, 40, 50};
    int x1, x2;
    x1 = 20;
    x2 = 33;
    if(BinarySearch(Array, 10, x1))
    printf("已经找到%d ", x1);
    else
    printf("未找到%d ", x1);
    if(BinarySearch(Array, 10, x2))
    printf("已经找到%d ", x2);
    else
    printf("未找到%d ", x2);
    return 0;
    }

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    【原创】【Android New Features】—— 关于ADT 17的BuildConfig.DEBUG
    《jQuery、jQuery UI及jQuery Mobile技巧与示例》勘误收集
    《jQuery UI开发指南》勘误收集
    获取输入框中选中文本相对于页面的偏移
    html标签对应的英文原文
    CSS选择器解析
    Input File 表单上传按钮美化
    常用CSS代码片断
    web前端开发框架搜集
    Fiddler
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4721821.html
Copyright © 2011-2022 走看看