sort2.c

来自「gcc3.2.1源代码」· C语言 代码 · 共 55 行

C
55
字号
/* Simple test program:   bubble sort of a fixed table. 	*//* This demonstrates some of the compiler's common-subexpression*//* elimination capabilities.  For example, inspect the code	*//* generated for procedure Sort_array.	See the Programmer's    *//* Guide for how to request an assembly listing on your host.	*/typedef unsigned char boolean;void Sort_array();int Tab[100];main () {   int I,J,K,L;for (L = 0; L < 1000; L++) {   /* Initialize the table that will be sorted. */   K = 0;   for (I = 9; I >= 0; I--)      for (J = I*10; J < (I+1)*10; J++)	 Tab[K++] = J&1 ? J+1 : J-1;/*   Print_array(); */   Sort_array(Tab,99);	   /* Sort it. *//*   Print_array(); */}   return 0;}void Sort_array(Tab,Last) int Tab[]; int Last; {   boolean Swap;   int Temp,I;   do {      Swap = 0;      for (I = 0; I<Last; I++)	 if (Tab[I] > Tab[I+1]) {	    Temp = Tab[I];	    Tab[I] = Tab[I+1];	    Tab[I+1] = Temp;	    Swap = 1;	    }      }   while (Swap);}void Print_array() {   int I,J;   /*printf("\nArray Contents:\n");*/   for (I=0; I<=9; I++) {      /*printf("%5d:",10*I); */      for (J=0; J<=9; J++); /*printf("%5d",Tab[10*I+J]); */      /* printf("\n");*/      }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?