当前位置:  编程技术>移动开发
本页文章导读:
    ▪AVAudioPlayer 容易例子        AVAudioPlayer 简单例子 包括循环播放以及背景播放,满足一般朋友的需求。   包含一个简单例子。 ......
    ▪ 希尔排序,快速排序,冒泡排序的比较        希尔排序,快速排序,冒泡排序的比较。 希尔排序基本思想  基本思想:     先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一.........
    ▪ mac 中筹建erlang 开发环境       mac 中搭建erlang 开发环境 最近一直在想如何把linux 上erlang程序安装到Mac 上,我还真发现一个好用的工具brew。关于其简介我从网上copy 一些:   Homebrew作为OS X上强大的包管理器,为系统软件.........

[1]AVAudioPlayer 容易例子
    来源: 互联网  发布时间: 2014-02-18
AVAudioPlayer 简单例子

包括循环播放以及背景播放,满足一般朋友的需求。

 

包含一个简单例子。


    
[2] 希尔排序,快速排序,冒泡排序的比较
    来源: 互联网  发布时间: 2014-02-18
希尔排序,快速排序,冒泡排序的比较。
希尔排序基本思想

  基本思想:
     先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插人排序;然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有记录放在同一组中进行直接插入排序为止。
     该方法实质上是一种分组插入方法。

给定实例的shell排序的排序过程

     假设待排序文件有10个记录,其关键字分别是:
        49,38,65,97,76,13,27,49,55,04。
     增量序列的取值依次为:
        5,3,1
     排序过程如【动画模拟演示】。
http://student.zjzk.cn/course_ware/data_structure/web/paixu/paixu8.2.2.1.htm



#if 0
2012-12-09 18:23:18.019 排序算法[974:707] before   :
2012-12-09 18:23:54.122 排序算法[974:707] after    :26.1

2012-12-09 18:24:58.085 排序算法[999:707] before   :
2012-12-09 18:25:00.967 排序算法[999:707] after    :2.0


2012-12-09 18:40:25.880 排序算法[1081:707] before   :
2012-12-09 18:40:30.379 排序算法[1081:707] after    :4.5
2012-12-09 18:41:30.726 排序算法[1112:707] before   :
2012-12-09 18:41:33.741 排序算法[1112:707] after    :

2012-12-09 18:42:12.793 排序算法[1135:707] after    :
2012-12-09 18:42:10.099 排序算法[1135:707] before   :


2012-12-09 18:43:06.847 排序算法[1161:707] before   :
2012-12-09 18:43:33.619 排序算法[1161:707] after    :
#endif




#import <Foundation/Foundation.h>
//#include <stdio.h>
//#include <stdlib.h>
//#include <math.h>
#define MAX1 18    //这里设定要对多少个元素排序
void shellsort(int A[], int N, int *);
void printarray(int A[]);
void mysort(int m[]);
void quick_sort(int arr[], int left, int right);
int main (int argc, const char * argv[])
{

    @autoreleasepool {
       
        int i, s[MAX1];
        int *sed;
        int sedgewick[] = {        // Sedgewick增量 赛奇维克增量
            1073643521, 603906049, 268386305, 150958081, 67084289,
            37730305, 16764929, 9427969, 4188161, 2354689,
            1045505, 587521, 260609, 146305, 64769,
            36289, 16001, 8929, 3905, 2161,
            929, 505, 209, 109, 41,
            19, 5, 1, 0 };        //用 0 标记终点
        for (sed = sedgewick; *sed > MAX1; sed++) // 增量必须小于元素个数,并且是小于增量中的最大的一个。
        {  }
            for (i = 0; i < MAX1; i++){
                s[i] = 1+(int) ((float)MAX1*rand()/(RAND_MAX+1.0));  
            }
//    }
        NSLog(@"before   :");
//        printarray(s);
        NSLog(@"======%d======",*sed);
        shellsort(s, MAX1, sed);//希尔排序
//        mysort(s);//冒泡排序。
//        quick_sort(s, 0, sizeof s / sizeof (int) - 1);//快速排序。
       NSLog(@"after    :");
        printarray(s);

//        for (int i=0; i<2; i++) //这里不加{}表示他把下个for循环都包裹了。因为他包裹的是一个if语句或一个for或一个”;“结尾的语句。
////        {
//            for (int j=0; j<2; j++) {
//                NSLog(@"我");
//            }
////        }
    }
    return 0;
}

void shellsort(int v[], int n, int *sed)//v[]是数组的值,n为数组的个数。sed 赛奇维克增量
{
    int i, j, temp;
    int *gap;
    for (gap = sed; *gap > 0; gap++)//看有几个赛奇维克。共10个数。  2,1;
        for (i = *gap; i < n; i++)//越来越多的循环。
            for (j = i - *gap; j>=0 && v[j]>v[j + *gap]; j-=*gap) {
                temp = v[j];
                v[j] = v[j + *gap];
                v[j + *gap] = temp;
            }
           
}
void mysort(int m[]){//普通的冒泡
    int temp;
    for (int i=0; i<MAX1; i++) {
        for (int j=i; j<MAX1-1; j++) {
            if (m[i]>m[j]) {
                temp=m[i];
                m[i]=m[j];
                m[j]=temp;
            }
        }
    }
}

void quick_sort(int arr[], int left, int right)//快速排序。
{
    int i = left, j = right, temp = arr[i];
    while (i < j)
    {
        while (i < j && temp <= arr[j])
        {
            j--; // 右边找到比temp小的那个数
        }
        arr[i] = arr[j];
       
        while (i < j && arr[i] <= temp)
        {
            i++; // 左边找到比temp大的那个数
        }
        arr[j] = arr[i];
    }
    arr[i] = temp;
    if (i - 1 > left) quick_sort(arr, left, i-1);
    if (i + 1 < right) quick_sort(arr, i+1, right);
}
void printarray(int a[])
{
    int i;
    for (i = 0; i < MAX1; i++)
        printf(" %d", a[i]);
    printf("/n");
}

    
[3] mac 中筹建erlang 开发环境
    来源: 互联网  发布时间: 2014-02-18
mac 中搭建erlang 开发环境

最近一直在想如何把linux 上erlang程序安装到Mac 上,我还真发现一个好用的工具brew。
关于其简介我从网上copy 一些:
  
Homebrew作为OS X上强大的包管理器,为系统软件提供了非常方便的安装方式,独特式的解决了包的依赖问题,并不再需要烦人的sudo,一键式编译,无参数困扰,真的,你值得拥有。

brew 的安装:
$ curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1 

升级
$ sudo brew update

 



erlang 有了brew 的帮助 安装erlang 虚拟机就太小儿科
$ sudo brew install erlang

 

 报错 执行

$sudo brew link autoconf

 

再次执行

$sudo brew install erlang

 

等待安装完成 即可!

 


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3