您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ swap2函数代码示例

51自学网 2021-06-03 08:34:38
  C++
这篇教程C++ swap2函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中swap2函数的典型用法代码示例。如果您正苦于以下问题:C++ swap2函数的具体用法?C++ swap2怎么用?C++ swap2使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了swap2函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: heapSort2

void heapSort2(int *data, int n) {	// from:http://www.cnblogs.com/richselian/archive/2012/01/04/2311837.html	int top = n;	int bottom = n;	int child = n;	int i = child;	int tmp;	for (; bottom > 0; i = child) {		tmp = data[child];		int lchild = i * 2 + 1;		int rchild = i * 2 + 2;		if (lchild < bottom && tmp < data[lchild]) {			child = lchild;		}		if (rchild < bottom && tmp < data[rchild]) {			child = rchild;		}		if (i < child) {			swap2(data, i, child);		} else {			if (top > 0) {				child = --top;			} else {				swap2(data, 0, --bottom);				child = 0;			}		}	}}
开发者ID:mcxiaoke,项目名称:dsaac,代码行数:29,


示例2: ssort2

void ssort2(char **a, int n, int depth,int* index){   int d, r, partval;    int Diff=0;    char **pa, **pb, **pc, **pd, **pl, **pm, **pn, *t;    //~ if (n < 10) {        //~ inssort(a, n, depth);        //~ return;    //~ }    pl = a;    pm = a + (n/2);    pn = a + (n-1);    if (n > 30) { // On big arrays, pseudomedian of 9        d = (n/8);        pl = med3(pl, pl+d, pl+2*d);        pm = med3(pm-d, pm, pm+d);        pn = med3(pn-2*d, pn-d, pn);    }    pm = med3(pl, pm, pn);    Diff=pm-a;    int *IndexA,*IndexB,*IndexC,*IndexD,*IndexN;    swap2(a, pm);    swap2Index(index,index+Diff);    partval = ptr2char(a);    pa = pb = a + 1;    pc = pd = a + n-1;    IndexA=IndexB=index+1;    IndexC=IndexD=index+n-1;    for (;;) {        while (pb <= pc && (r = ptr2char(pb)-partval) <= 0) {            if (r == 0) { swap2(pa, pb);swap2Index(IndexA, IndexB);pa++;IndexA++; }            pb++;            IndexB++;        }        while (pb <= pc && (r = ptr2char(pc)-partval) >= 0) {            if (r == 0) { swap2(pc, pd); swap2Index(IndexC, IndexD);pd--;IndexD-- ;}            pc--;            IndexC--;        }        if (pb > pc) break;        swap2(pb, pc);        swap2Index(IndexB,IndexC);        pb++;        IndexB++;        pc--;        IndexC--;    }    pn = a + n;    IndexN=index+n;    r = min(pa-a, pb-pa);    vecswap2(a,  pb-r, r); vecswap2Index(index,IndexB-r,r);    r = min(pd-pc, pn-pd-1); vecswap2(pb, pn-r, r); vecswap2Index(IndexB,IndexN-r,r);    if ((r = pb-pa) > 1)        ssort2(a, r, depth,index);    if (ptr2char(a + r) != 0)        ssort2(a + r, pa-a + pn-pd-1, depth+1,index+r);    if ((r = pd-pc) > 1)        ssort2(a + n-r, r, depth,index+n-r);}
开发者ID:aametwally,项目名称:pSACA,代码行数:57,


示例3: read_descriptrace

voidread_descriptrace( FILE *fp, Suds_tag header, Suds_descriptrace *d, int swap, long **data, int *bufsiz ) {	fread( &d->dt_name.network, sizeof( char ), 4, fp );	fread( &d->dt_name.st_name, sizeof( char ), 5, fp );	fread( &d->dt_name.component, sizeof( char ), 1, fp );	fread( &d->dt_name.inst_type, sizeof( short ), 1, fp );	fread( &d->begintime, sizeof( double ), 1, fp );	fread( &d->localtime, sizeof( short ), 1, fp );	fread( &d->datatype, sizeof( char ), 1, fp );	fread( &d->descriptor, sizeof( char ), 1, fp );	fread( &d->digi_by, sizeof( short ), 1, fp );	fread( &d->processed, sizeof( short ), 1, fp );	fread( &d->length, sizeof( long ), 1, fp );	fread( &d->rate, sizeof( float ), 1, fp );	fread( &d->mindata, sizeof( float ), 1, fp );	fread( &d->maxdata, sizeof( float ), 1, fp );	fread( &d->avenoise, sizeof( float ), 1, fp );	fread( &d->numclip, sizeof( long ), 1, fp );	fread( &d->time_correct, sizeof( double ), 1, fp );	fread( &d->rate_correct, sizeof( float ), 1, fp );	if( swap ) {		swap2( &d->dt_name.inst_type, &d->dt_name.inst_type, 1 );		swap8( &d->begintime, &d->begintime, 1 );		swap2( &d->localtime, &d->localtime, 1 );		swap2( &d->digi_by, &d->digi_by, 1 );		swap2( &d->processed, &d->processed, 1 );		swap4( &d->length, &d->length, 1 );		swap4( &d->rate, &d->rate, 1 );		swap4( &d->mindata, &d->mindata, 1 );		swap4( &d->maxdata, &d->maxdata, 1 );		swap4( &d->avenoise, &d->avenoise, 1 );		swap4( &d->numclip, &d->numclip, 1 );		swap8( &d->time_correct, &d->time_correct, 1 );		swap4( &d->rate_correct, &d->rate_correct, 1 );	}	if( d->datatype != '2' ) {		complain( 1, "Datatype %s not understood--skipping/n", d->datatype );		fseek( fp, header.data_length_bytes, SEEK_CUR );	} else {		if( *bufsiz < header.data_length_bytes ) {			reallot( long *, *data, d->length ); 			*bufsiz = d->length * sizeof( long );		}		fread( *data, sizeof( long ), d->length, fp );		if( swap ) {			swap4( *data, *data, d->length );		}	}
开发者ID:battistuz,项目名称:antelope_contrib,代码行数:55,


示例4: split_group

static Int32 split_group(UInt32 *a, int n, int depth,int offset,Int32 pivot,int *first){  int r, partval;  UInt32 *pa, *pb, *pc, *pd, *pa_old, *pd_old;  Int32 pivot_pos, t;  UChar *text_depth,*text_limit;  /* --------- initialization ------------------------------------ */  pivot_pos = a[pivot];       /* starting position in T[] of pivot */  text_depth = Text+depth;  text_limit = text_depth+offset;  /* ------------------------------------------------------------- */  /* In the following for() loop: */  /* [pa ... pd] is the current working region,  */  /* pb moves from pa towards pd  */  /* pc moves from pd towards pa */  /* ------------------------------------------------------------- */  pa = a; pd = a + n-1;  for(  ; pa!=pd && (text_depth<text_limit); text_depth++) {    assert(pa<pd);    /* ------ the pivot char is Text[pivot_pos+depth] where  */    /* depth = text_depth-Text. This is text_depth[pivot_pos] */    partval = text_depth[pivot_pos];    /* ----- partition ------------  */    pb = pa_old = pa;     pc = pd_old = pd;     for (;;) {        while (pb <= pc && (r = ptr2char(pb)-partval) <= 0) {            if (r == 0) { swap2(pa, pb); pa++; }            pb++;        }        while (pb <= pc && (r = ptr2char(pc)-partval) >= 0) {            if (r == 0) { swap2(pc, pd); pd--; }            pc--;        }        if (pb > pc) break;        swap2(pb, pc);        pb++;        pc--;    }    r = min((Int32*)pa-(Int32*)pa_old, (Int32*)pb-(Int32*)pa); vecswap2(pa_old, pb-r, r);    r = min((Int32*)pd-(Int32*)pc, (Int32*)pd_old-(Int32*)pd); vecswap2(pb, pd_old+1-r, r);    /* ------ compute new boundaries -----  */     pa = pa_old + (pb-pa);     /* there are pb-pa chars < partval */    pd = pd_old - (pd-pc);     /* there are pd-pc chars > partval */  }  *first=pa-a;        /* index in a[] of the first suf. equal to pivot */  assert(pd-pa>=0);  return pd-pa+1;     /* return number of suffixes equal to pivot */}
开发者ID:bojifengyu,项目名称:uiHRDC,代码行数:54,


示例5: deleteit

int deleteit( int L, int mm ){  int    nnl,k;  double temp,t1;  nnl = L - nc;  if ( L != mr)    {    /* re-arrange data when specie  added or removed */    dsw(wt,mr,L);    dsw(w,mr,L);    dsw(ff,mr,L);    dsw(initial_chem_pot,mr,L);    if ( si[mr] == SINGLE )            dsw(fe,mr,L);    swap2((int *)si,mr,L);    dsw(fel,mr,L);    swap2((int *)ic,nr,nnl);    dsw(da,mr,L);       /* this seems unnecessary */    swap2(ind,mr,L);    rotate(index2, mr, L);      for ( k = 1; k <= nc; k++)        {      t1 = sc[k][nr];      sc[k][nr] = sc[k][nnl];      sc[k][nnl] = t1;    }    for ( k = 1; k <= no_phases; k++)        {      temp = d_mole[k][nr];      d_mole[k][nr] = d_mole[k][nnl];      d_mole[k][nnl] = temp;    }    for ( k = 1; k <= ne; k++)        {      temp =bm[mr][k];      bm[mr][k] = bm[L][k];      bm[L][k] = temp;    }  }  if (mm != 0)        return (TRUE);  /* ------- extra procedures when removing a species --------------- */  dsw(dg,nr,nnl);  dsw(ds,mr,L);  /* -------- special procedures for removing a phase --------------- */  tmole[si[mr]] -= w[mr];  nr--;                           /* one less reaction */  mr--;                           /* one less reaction */  if ( nr == 0 )        return ( FALSE );  else        return ( TRUE );}
开发者ID:abcweizhuo,项目名称:Test3,代码行数:54,


示例6: main

int main(){  int a,b,c,d,e;  a = 1; b = 2; c = 3; d=4; e=5;  printf("%d %d %d %d %d/n",a,b,c,d,e);  /*bdeac*/  swap2(&a,&b);  swap2(&b,&d);  swap2(&c,&e);  /*hasta aquí*/  printf("%d %d %d %d %d/n",a,b,c,d,e);  return 0;}
开发者ID:jdiazrdgz,项目名称:Algoritmia,代码行数:12,


示例7: median3

static int median3(int *data, int left, int right) {	int center = (left + right) / 2;	if (data[left] > data[center]) {		swap2(data, left, center);	}	if (data[left] > data[right]) {		swap2(data, left, right);	}	if (data[center] > data[right]) {		swap2(data, center, right);	}	// 三次比较后,data[left]<=data[center]<=data[right]	swap2(data, center, right - 1);	return data[right - 1];}
开发者ID:mcxiaoke,项目名称:dsaac,代码行数:15,


示例8: deleteMax

// 删除树根,最大值移到最后static void deleteMax(int *data, int size) {//	size--;//	swap(&data[0], &data[size]);//	percolateDown(data, 0, size);	swap2(data, 0, size - 1); // 堆树根与最后一个data[size-1];交换	percolateDown(data, 0, --size);}
开发者ID:mcxiaoke,项目名称:dsaac,代码行数:8,


示例9: main

int main() {        void swap1(int *p1, int *p2);            void swap2(int *p1, int *p2);                int a , b, c, d;                    int *pointer_1, *pointer_2, *pointer_3, *pointer_4;                        printf("Please enter a and b: ");                            scanf("%d,%d", &a, &b);                                printf("Please enter c and d: ");                                    scanf("%d,%d", &c, &d);                                        pointer_1 = &a;                                            pointer_2 = &b;                                                if (a<b) {                                                            swap1(pointer_1, pointer_2);                                                                }                                                    pointer_3 = &c;                                                        pointer_4 = &d;                                                            if (c<d) {                                                                        swap2(pointer_3, pointer_4);                                                                            }                                                                printf("max=%d, min=%d/n", a, b);                                                                    printf("max=%d, min=%d/n", c, d);                                                                        return 0;}
开发者ID:zqw86713,项目名称:The.C.Programming.Language,代码行数:33,


示例10: cocktail

void cocktail() {     uint i,          j,           swapped;          for(i = 0; i < n / 2; i++) {         swapped = 0;         for(j = i; j < n - 1 - i; j++) {                 if( arr[ j ] > arr[j + 1] ) {                     swap(j, j + 1);                     swapped = 1;                 }         }         for(j = n - 2 - i; j > i; j--) {                 if( arr[ j ] < arr[j - 1] ) {                     swap2(arr + j, arr + j - 1);                     swapped = 1;                 }         }         if( !swapped )  break;     }};
开发者ID:hrntrn,项目名称:computer-science-in-c,代码行数:35,


示例11: main

int main(){    int i,j,k;    int a[10]= { 4,5,8,1,2,9,10,3,6,7};      for(i=0;i<10;i++)    {        for(k=0;k<9;k++)        {            if(a[k]>a[k+1])            {                //swap1(a[k],a[k+1]);                swap2(&a[k],&a[k+1]);            }        }                }    for(j=0;j<10;j++)    {        printf("%d", a[j]);    }    printf("/n");    return 0;} 
开发者ID:JavaPythonC,项目名称:myRepo,代码行数:25,


示例12: sortColors3

void sortColors3(int a[], int n) {    int zero = 0;    int two = n - 1;        for (int i = 0; i <= two; i++) {        if (a[i] == 0) {            swap2(&a[zero], &a[i]);            zero++;        }        if (a[i] == 2) {            swap2(&a[two], &a[i]);            two--;            i--;        }    }}
开发者ID:lw9210,项目名称:letcode,代码行数:16,


示例13: main

main(){    int x=1, y=2;    printf("x=%d, y=%d/n", x, y);    swap1(x,y);    printf("After swap1(x,y): x=%d, y=%d/n", x, y);    swap2(&x,&y);    printf("After swap2(&x,&y): x=%d, y=%d/n", x, y);}
开发者ID:Andy-Shao,项目名称:arithmetic_c,代码行数:8,


示例14: swap2

void ObjLoader::flipWinding(int4* faceInOut, int numTri){	for(int i=0; i<numTri; i++)	{		int4& f = faceInOut[i];		swap2( f.s[1], f.s[2] );	}}
开发者ID:saggita,项目名称:MyBulletCLTestBed,代码行数:8,


示例15: main

int main(){	int a = 20;	int b = 30;	printf("a = %d,b = %d/n",a,b);	swap2(&a,&b);	printf("a = %d,b = %d/n",a,b);	return 0;}
开发者ID:pain400,项目名称:c_base,代码行数:8,


示例16: partition

int partition(int *arr, int begin, int end){	int pivot = arr[end - 1];	int i, j, k;	i = j = k = begin;	for( ; k < end - 1; ++k){		if(arr[k] < pivot){			swap2(arr, i, j);			++i;		}		++j;	}	swap2(arr, i, end - 1);	return i;}
开发者ID:zhaosjason,项目名称:practice,代码行数:17,


示例17: ssort2

void ssort2(unsigned char **a, int n, int depth){   int d, r, partval;    unsigned char **pa, **pb, **pc, **pd, **pl, **pm, **pn, *t;    if (n < 10) {        inssort(a, n, depth);        return;    }    pl = a;    pm = a + (n/2);    pn = a + (n-1);    if (n > 30) {         d = (n/8);        pl = med3(pl, pl+d, pl+2*d);        pm = med3(pm-d, pm, pm+d);        pn = med3(pn-2*d, pn-d, pn);    }    pm = med3(pl, pm, pn);    swap2(a, pm);    partval = ptr2char(a);    pa = pb = a + 1;    pc = pd = a + n-1;    for (;;) {        while (pb <= pc && (r = ptr2char(pb)-partval) <= 0) {            if (r == 0) { swap2(pa, pb); pa++; }            pb++;        }        while (pb <= pc && (r = ptr2char(pc)-partval) >= 0) {            if (r == 0) { swap2(pc, pd); pd--; }            pc--;        }        if (pb > pc) break;        swap2(pb, pc);        pb++;        pc--;    }    pn = a + n;    r = min(pa-a, pb-pa);    vecswap2(a,  pb-r, r);    r = min(pd-pc, pn-pd-1); vecswap2(pb, pn-r, r);    if ((r = pb-pa) > 1)        ssort2(a, r, depth);    if (ptr2char(a + r) != 0)        ssort2(a + r, pa-a + pn-pd-1, depth+1);    if ((r = pd-pc) > 1)        ssort2(a + n-r, r, depth);}
开发者ID:anygo,项目名称:uniprojectsdn,代码行数:45,


示例18: main

int main(){    unsigned long long x;    int i, j;    x = 0x00080004; i = 19, j = 0;    printf("swap(%016llx, %d, %d) => %016llx/n", x, i, j, swap1(x, i, j));    x = 0x00080004; i = 19, j = 0;    printf("swap(%016llx, %d, %d) => %016llx/n", x, i, j, swap2(x, i, j));}
开发者ID:walrus7521,项目名称:code,代码行数:9,


示例19: main

int main(int argc,char * crgv[]){	int a=1,b=1;	printf("a=%d,b=%d/n",a,b);	swap1(&a,&b);	printf("a=%d,b=%d/n",a,b);	swap2(&a,&b);	printf("a=%d,b=%d/n",a,b);}
开发者ID:Morainy,项目名称:MyCode,代码行数:9,


示例20: partition3

// 此方法来自DSAACstatic int partition3(int *data, int left, int right) {	// 最后一个不需要移动	// 因为pivotMedian返回时,最右边的数大于pivot	// pivot位于 right-1的位置,因此j初始化为right-1	int pivot = median3(data, left, right);	int i = left;	int j = right - 1;	while (i < j) {		while (data[++i] < pivot)			;		while (data[--j] > pivot)			;		if (i < j) {			swap2(data, i, j);		}	}	swap2(data, i, right - 1);	return i;}
开发者ID:mcxiaoke,项目名称:dsaac,代码行数:20,


示例21: main

int main(int argc, char** argv) {  double array[] = { 4, 6, 2};  printf("Swapping values.../n");  swap( array[0], array[2] );  printf("Let's try new swapping .../n");  swap2( array+0, array+2 );}
开发者ID:AleSchnidrig,项目名称:clanguage,代码行数:10,


示例22: random

void random(int data[], int size) {	srand((unsigned) time(NULL ));	for (int i = 0; i < size; i++) {		data[i] = i;	}	for (int i = size - 1; i > 0; i--) {		int j = rand() % (i + 1);		swap2(data, i, j);	}}
开发者ID:mcxiaoke,项目名称:dsaac,代码行数:10,


示例23: main

int main(){	int a=3,b=5;	swap1(a,b);	swap2(&a,&b);	// swap3(a, b);	printf("a:%d,b:%d/n", a, b);	return 0;}
开发者ID:godofchina,项目名称:CPraticeCode,代码行数:10,


示例24: main

int main() {  int a = 12, b = 13;  printf("Initial values:/n");  printf("a = %d  b = %d/n/n", a, b);  swap1(a, b);  printf("After swap1:/n");  printf("a = %d  b = %d/n/n", a, b);  swap2(&a, &b);  printf("After swap2:/n");  printf("a = %d  b = %d/n", a, b);}
开发者ID:simondevries,项目名称:University-Practice-Code,代码行数:11,


示例25: inssort

void inssort(unsigned char **a, int n, int d){   unsigned char **pi, **pj, *s, *t;    for (pi = a + 1; --n > 0; pi++)        for (pj = pi; pj > a; pj--) {            for (s=*(pj-1)+d, t=*pj+d; *s==*t && *s!=0; s++, t++)                ;            if (*s <= *t)                break;            swap2(pj, pj-1);    }}
开发者ID:anygo,项目名称:uniprojectsdn,代码行数:11,


示例26: insertsort

static void insertsort(string *a, int n, int d){   string *pi, *pj, s, t;    for (pi = a + 1; --n > 0; pi++)        for (pj = pi; pj > a; pj--) {            /* Inline strcmp: break if *(pj-1) <= *pj */            for (s=*(pj-1)+d, t=*pj+d; *s==*t && *s!=0; s++, t++)                ;            if (*s <= *t)                break;            swap2(pj, pj-1);    }}
开发者ID:Komalesh,项目名称:string-sorting,代码行数:12,


示例27: main

int main() {    int a[2] = {1, 2};    swap(a, a+1);    //@ assert a[0] == 2;    //@ assert a[1] == 1;    swap2(a, a+1);    //@ assert a[0] == 1;    //@ assert a[1] == 2;    return 0;}
开发者ID:kornevgen,项目名称:floyd,代码行数:12,


示例28: ReadHTKFeature

 //*************************************************************************** //*************************************************************************** int  ReadHTKFeature(     FILE *    pInFp,      FLOAT *   pIn,      size_t    feaLen,      bool      swap,     bool      decompress,      FLOAT *   pScale,      FLOAT *   pBias) {   size_t i;      if (decompress)    {     INT_16 s; //    FLOAT pScale = (xmax - xmin) / (2*32767); //    FLOAT pBias  = (xmax + xmin) / 2;      for (i = 0; i < feaLen; i++)      {       if (fread(&s, sizeof(INT_16), 1, pInFp) != 1)          return -1;              if (swap) swap2(s);       pIn[i] = (s + pBias[i]) / pScale[i];     }          return 0;   }  #if !DOUBLEPRECISION   if (fread(pIn, sizeof(FLOAT_32), feaLen, pInFp) != feaLen)      return -1;      if (swap)      for (i = 0; i < feaLen; i++)        swap4(pIn[i]); #else   FLOAT_32 f;    for (i = 0; i < feaLen; i++)    {     if (fread(&f, sizeof(FLOAT_32), 1, pInFp) != 1)       return -1;          if (swap)        swap4(f);            pIn[i] = f;   } #endif   return 0; }  // int ReadHTKFeature
开发者ID:alongwithyou,项目名称:PhnRec,代码行数:55,


示例29: main

int main(){    double a = 5.5;    double b = 10.5;    print(a,b);    swap1(a,b);    print(a,b);    swap2(a,b);   // Comment this line out    print(a,b);   // Comment this line out    swap3(&a,&b);    print(a,b);        return 0;}
开发者ID:supernovaremnant,项目名称:comp2123,代码行数:12,



注:本文中的swap2函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ swap32函数代码示例
C++ swap16函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。