生活随笔
收集整理的這篇文章主要介紹了
C++中函数的重载和函数指针排序大全
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
函數重載的判斷標準,
參數個數不相同參數的類型不相同參數的順序不相同
注意函數的返回值不是函數重載的判斷標準
函數變量得到聲明
#include <iostream>using namespace std;
void myFunc(
int a,
int b)
{
cout <<
"a" << a <<
"b" << b << endl;
}
typedef void (myTypefunc)(
int a,
int b);
int main()
{myTypefunc *myfunc =NULL;
cout <<
"hello world!"<<endl;system(
"pause");
return 0;
}
#include <iostream>using namespace std;
void myFunc(
int a,
int b)
{
cout <<
"a" << a <<
"b" << b << endl;
}
void myFunc(
int a)
{
cout <<
"a" << a << endl;
}
void (* myTypefunc)(
int a,
int b);
int main()
{
cout <<
"hello world!"<<endl;system(
"pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void traverse_array(
int,
int *);
void output_array(
int,
int *);
void select_sort_array(
int,
int *);
void bubble_sort_array(
int,
int*);
void quick_sort_array(
int,
int[]);
int main(){
int array[]={
0,
8,
2,
8,
7,
5};
int arr_len=sizeof array /sizeof(
int);quick_sort_array(arr_len,array);output_array(arr_len,array);return0;}
void traverse_array(
int argc,
int *a){
int half=argc/
2,tmp=
0,i;
for(i=
0;i<half;i++){tmp=*(a+i);*(a+i)=*(a+argc-i-
1);*(a+argc-i-
1)=tmp;}}
void select_sort_array(
int argc,
int *a){registerint i,j,min,tmp;
for(i=
0;i<argc;i++){min=i;
for(j=i;j<argc;j++){
if(a[min]>a[j]){min=j;}}
if(min!=i){tmp=a[i];a[i]=a[min];a[min]=tmp;}}}
void bubble_sort_array(
int argc,
int *a){registerint i,j,tmp;
for(j=
0;j<argc-
1;j++){
for(i=
0;i<argc-j-
1;i++){
if(a[i]>a[i+
1]){tmp=a[i];a[i]=a[i+
1];a[i+
1]=tmp;}}}}
void quick_sort_array(
int argc,
int a[]){
int i,j,m=argc-
1,tmp,base_num=a[argc-
1];do{
for(i=
0;i<m;i++){
if(a[i]>=base_num){tmp=a[m];a[m]=a[i];a[i]=tmp;m=i;
break;}}
for(j=argc-
1;j>m;j--){
if(a[j]<base_num){tmp=a[m];a[m]=a[j];a[j]=tmp; m=j;
break; } } }
while(i!=j);
if(m>
1) { quick_sort_array(m,a); }
if(argc-m-
1>
1) { quick_sort_array(argc-m-
1,a+m+
1); }
return; }
void output_array(
int argc,
int *a) {
int i;
for(i=
0;i<argc;i++) { printf(
"%d ,",a[i]); } printf(
"\n"); }
/**插入排序法**/void Insert_sort(
int s[],
int len){
int i,j;
int temp;
for(i=
1;i<len;i++){temp=s[i];
for (j=i; j>
0&&temp<s[j-
1]; j--) {s[j]=s[j-
1];}s[j]=temp; } }
/**折半插入排序法**/
void HalfInsert_sort(
int s[],
int len){
int temp, low, high, i, j, mid;
for (i=
1; i<len; ++i){temp = s[i];low =
0;high = i -
1;
while (high >= low){mid = (low + high) /
2;
if (temp < s[mid]){high = mid -
1;}
else{low = mid +
1;}}
for (j=i-
1; j>=low; --j){s[j+
1] = s[j];}s[low] = temp;}
}
/**希爾排序法**/
void Hill_sort(
int s[],
int len){
int h,j,k,t;
for (h=len/
2; h>
0; h=h/
2) {
for (j=h;j<len; j++) {t=s[j];
for (k=j-h; k>=
0&&t<s[k]; k-=h) {s[k+h]=s[k];}s[k+h]=t;}}
}
總結
以上是生活随笔為你收集整理的C++中函数的重载和函数指针排序大全的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。