zoukankan      html  css  js  c++  java
  • 数据结构(C语言)关于查找与排序

    1)利用readData()函数从data1.txt中读入不同规模的数据存入数组,
    编写基于数组的顺序查找算法,测试数据量为1万、5万、10万、20万、
    30万、40万和50万时的数据查询时间。

    算法代码如下:

    1 int seqsearch(int a[],int n,int key)
    2 {
    3     int k=n-1;
    4     while(k>=0&&a[k]!=key)
    5         k--;
    6     return (k);
    7 }

    2)利用readData()函数从data2.txt中读入不同规模的有序数据存入数组,
    编写基于数组的二分查找算法,测试数据量为1万、5万、10万、20万、30万、
    40万和50万时的数据查询时间。

    算法代码如下:

     1 int binSearch(int a[],int n,int key)
     2 {
     3     int low=0;
     4     int high=n-1;
     5     int mid;
     6     while(low<=high)
     7     {
     8         mid=(low+high)/2;
     9         if(a[mid]==key) return mid;
    10         if(a[mid]>key)
    11             high=mid-1;
    12         else
    13             low=mid+1;
    14     }
    15     return -1;
    16 }

    3)请设计冒泡排序算法函数void bubbleSort(int a[],int n),对a[1]..a[n]进行升序排序。
    并测试在不同数据规模下的排序效率。

    算法代码如下:

     1 void bubbleSort(int a[],int n)
     2 {
     3     int i=1,j,flag=1;
     4     while(i<=n-1&&flag)
     5     {
     6         flag=0;
     7         for(j=1;j<=n-1-i;j++)
     8             if(a[j+1]<a[j])
     9             {
    10                 a[0]=a[j];
    11                 a[j]=a[j+1];
    12                 a[j+1]=a[0];
    13                 flag=1;
    14             }
    15             i++;
    16     }
    17 }
  • 相关阅读:
    hadoop
    常用安装
    rdd相关
    spark安装
    psutil
    scala linux终端高亮显示
    【原创】正则表达式(知识点总结)
    检测对象是否有某个属性(原型链检测和对象自身检测)
    JavaScript核心(对象+原型+函数+闭包+this+上下文堆栈+作用域链)
    JavaScript ES6迭代器指南
  • 原文地址:https://www.cnblogs.com/Dark-King/p/8184339.html
Copyright © 2011-2022 走看看