2016年3月19日

Android Studio API Level Change

Android Studio API Level Change






android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.justin.jacky.myapplication"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

2015年9月17日

Radix Sort 基數排序法

#include "iostream"

void radix(int data[],int n);
int main()
{
    int number=9;
    int data[]={5,6,4,8,2,3,7,9,1};
    int i;

    for (i=0;i<number;i++){
        printf("%d",data[i]);
    }
    printf("\n");

    radix(data,number);

    printf("\n");
    for (i=0;i<number;i++){
        printf("%d",data[i]);
    }

    printf("\n");
    system("PAUSE");
    return 0;
}

void radix(int data[],int n){
  int k,i,j,z;
  int m;
  for (z=1;z<=100;z=z*10){
     int temp[10][100]={0};
     for (i=0;i<n;i++){
       m=data[i]/z%10;
       temp[m][i]=data[i];
     }
     k=0;
     for (i=0;i<10;i++){
         for (j=0;j<n;j++){
             if (temp[i][j]!=0){
               data[k]=temp[i][j];
               k++;
             }
         }
     }
  }
}

Merge Sort 合併排序法

#include "iostream"

void mergesort(int a[],int left,int right);
void merge(int a[],int left,int mid,int right);
int main()
{
    int number=9;
    int data[]={5,6,4,8,2,3,7,9,1};
    int i;

    for (i=0;i<number;i++){
        printf("%d",data[i]);
    }
    printf("\n");

    mergesort(data,0,number-1);

    printf("\n");
    for (i=0;i<number;i++){
        printf("%d",data[i]);
    }

    printf("\n");
    system("PAUSE");
    return 0;
}

void mergesort(int data[],int left,int right){
  int mid;
  if (right>left){
      mid=(right+left)/2;
      mergesort(data,left,mid);
      mergesort(data,mid+1,right);
      merge(data,left,mid,right);
  }
}

void merge(int data[],int left,int mid,int right){
  int rux[right-left+1];
  int i=left;
  int j=mid+1;
  int k;
  for (k=0;k<right-left+1;k++){
    if (i==mid+1){
       rux[k]=data[j];
       j++;
    }else if (j==right+1){
       rux[k]=data[i];
       i++;
    }else{
       rux[k]= data[i]<data[j] ? data[i++]:data[j++];
    }
  }
  for (k=0,j=left;j<right+1;j++,k++)
  data[j]=rux[k];
}