C语言:冒泡排序,二分查找,模板声明

#include "stdafx.h"
#include <stdlib.h>
void Sort (int* a,int length)
{
    int temp;
    for(int j=0; j<length-1 ; j++)
    {
        for(int i=0 ; i<length-1-j ; i++)
        {
            if(a[i]>a[i+1])
            {
                temp=a[i];
                a[i]=a[i+1];
                a[i+1]=temp;
            }
        }
    }
    return;
}
void Print(int* a,int length)
{
    for(int i=0;i<length;i++)
    {
        printf("%d\n",a[i]);
    }
}
int find(int* a,int length,int element)
{
    int begin=0,end=length-1,index;
    while(begin<=end)
    {
        index=(begin+end)/2;
        if(element<a[index])
        {
            end=index-1;
        }
        else if(element>a[index])
        {
            begin=index+1;
        }
        else
        {
            return index;
        }
    }
}
int main(int argc, char* argv[])
{
    int a[5]={2,5,1,4,9};
    Sort(a,5);
    Print(a,5);
    int index=find(a,5,4);
    printf("index=%d\n",index);
    system("pause");
    printf("Hello World!\n");
    return 0;
}
image.png
#include "stdafx.h"
#include <stdlib.h>
template<class T>
void sort(T a,int length)
{
    int temp;
    for(int i=0;i<length-1;i++)
    {
        for(int j=0;j<length-1-j;j++)
        {
            if(a[i]>a[i+1])
            {
                temp=a[i];
                a[i]=a[i+1];
                a[i+1]=temp;
            }
        }
    }
}
template<class T1>
void print(T1 a[],int length)
{
    for(int i=0;i<length;i++)
    {
        printf("%d\n",a[i]);
    }
}
int main(int argc, char* argv[])
{
    char a[5]={1,4,3,2,5};
    //short a[5]={1,4,3,2,5};
    sort(a,5);
    print(a,5);
    system("pause");
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容