我是靠谱客的博主 可靠大树,这篇文章主要介绍重载实现:int char二分查找. 函数模板 :对整型 浮点型 字符型 实现冒泡排序,现在分享给大家,希望可以做个参考。

程序:算法+数据
C++语言的数据:
  1、基本类型: 整型,浮点型,字符型,bool类型
  2、变量:此块空间的内容可改变
        类型 变量名;//分配空间:以类型
      初始化变量:在定义变量同时赋初值
      引用:通过名字引用变量的内容
     整型变量:
        类型 变量名;
     常量:(空间不能改)不可以改变的量
        整型常量 :  
          十进制199    (权10  每一位[0 9])    
          八进制: 0100 (权8 ,每一位[0,7])  
           十六进制:0x12 (权16 每一位[0,...,9,a,b,c,d,e,f)  
  3、运算符:
    1、插入流  <<
    2、输入流  >>
  4、作用域:能被引用的区间
     局部变量:在函数内定义的变量
        作用域:在函数内
     全局变量:在函数外定义的变量
    注:局部变量优先
    
  5、引用作用域的内容:
      空间名::变量名;
  6、指针:就是空间在内存所在空间的地址编号
     指针变量:存放指针的变量
  7、取别名:给变量名取别名  
         规则:  类型名&  别名=变量;  
        int a=100;
  8、重载:C++允许同名的函数,调用函数时由函数与形参共同来决定调用。
        C语言规定:同一作用域下不允许出现同名现象(函数名、变量)
            调用函数:函数名和形参

        注:1、typedef只能对类型取别名  typedef int Intgerr
        2、取别名一定要指向
   9、函数模板
        在同族函数内,过程一致,只是数据不一致。将函数定义定义为一个通用的模型。
    template<typename T>  或 template<class T>
    T add(T a,T b)
    {
    
    }

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include<iostream> using namespace std; //判断一个字符是否存在一个字符串中 //折半(二分)查找:整型数组 short finder(int buf[],int ilen,int key) { int mid=0; int left=0,right=ilen-1; while(left<=right) { mid=(left+right)/2; if(buf[mid]>key) right=mid-1; else if(buf[mid]<key) left=mid+1; else return mid; } } short finder(char buf[],int ilen,int key) { int mid=0; int left=0,right=ilen-1; while(left<=right) { mid=(left+right)/2; if(buf[mid]>key) right=mid-1; else if(buf[mid]<key) left=mid+1; else return mid; } } //对整型 浮点型 字符型 实现冒泡排序 template<typename T> T finder(T ilen,T temp) { int i,j; int buf[100]={1,2,5,4,3,8,7}; for(i=0;i<ilen;i++) { j=i; for(j=i+1;j<ilen;j++) { if(buf[i]<buf[j]) { temp=buf[j]; buf[j]=buf[i]; buf[i]=temp; } } } for(i=0;i<ilen;i++) { cout<<buf[i]<<" "; } cout<<endl; } short finder(float buf[],int ilen) { int i,j; double temp; for(i=0;i<ilen;i++) { j=i; for(j=i+1;j<ilen;j++) { if(buf[i]<buf[j]) { temp=buf[j]; buf[j]=buf[i]; buf[i]=temp; } } } for(i=0;i<ilen;i++) { cout<<buf[i]<<" "; } cout<<endl; } short finder(char buf[],int ilen) { int i,j; char temp; for(i=0;i<ilen;i++) { j=i; for(j=i+1;j<ilen;j++) { if(buf[i]<buf[j]) { temp=buf[j]; buf[j]=buf[i]; buf[i]=temp; } } } for(i=0;i<ilen;i++) { cout<<buf[i]<<" "; } cout<<endl; } int main() { char buf[100]="abcdefg"; float buf2[100]={1.2,2.5,6.7,4.6,8.4,3.5}; char buf3[100]="adghctsg"; // cout<<finder(buf1,7,8)<<endl; // cout<<finder(buf,7,'c')<<endl; finder(7,0); // finder(buf2,6); // finder(buf3,8); return 0; }

work: 重载 选择排序

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include<iostream> #include<string.h> using namespace std; //重载:在同一作用域下允许同名函数 template<typename T> void swap(T* a,T* b) { T temp; temp=*a; *a=*b; *b=temp; } template<typename T> void selectsort(T buf[],int ilen) { //选择排序:每一次从未排序中选择最值(监哨值),并依次存放 int listen; int i=0,j; for(i=0;i<ilen-1;i++) { listen=i; for(j=i+1;j<ilen;j++) { if(buf[j]>buf[listen]) listen=j; } if(i!=listen)//listen=9 { swap(buf+i,buf+listen); } } } int main() { char buf[100]="qzadfdgtggetrvjtr"; selectsort(buf,strlen(buf)); cout<<buf<<endl; return 0; }

 

最后

以上就是可靠大树最近收集整理的关于重载实现:int char二分查找. 函数模板 :对整型 浮点型 字符型 实现冒泡排序的全部内容,更多相关重载实现:int内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(107)

评论列表共有 0 条评论

立即
投稿
返回
顶部