關於快速排序演算法的問題記錄

2021-07-05 04:00:30 字數 911 閱讀 3449

#include

void swap(int *a,int *b)

void print(int *a,int n)

printf("\n");

}void maopao(int *a,int n)}}

void choose(int *a,int n)

//swap(a+i,a+min);}}

void fast(int *a,int n)

fast(a,l);

fast(a+l+1,n-l-1);

}void insert(int *a,int n)

a[j]=t;}}

int main()

;print(a,7);

//maopao(a,7);

//choose(a,7);

//insert(a,7);

fast(a,7);

int x=8;

int y=10;

printf("x=%d   y=%d\n",x,y);

swap(&x,&y);

printf("x=%d   y=%d\n",x,y);

print(a,7);

return 0;

執行結果

3 1 5 2 7 6 5 

x=8   y=10

x=10   y=8

1 2 3 5 5 6 7

符合預期。

但是swap()函式中使用下面兩種方式做交換處理的時候

/**a=*a+*b;

*b=*a-*b;

*a=*a-*b;

*a=*a^*b;

*b=*a^*b;

*a=*a^*b;*/

排序結果卻有問題但是交換x,y的值正確。編譯環境gcc 。系統ubuntu 15.4 64位。特此記錄。

關於串列埠操作的問題記錄

1 我們操作串列埠時,發現資料返回不對,或者沒有資料返回,首先需要看一下波特率是不是設定正確 2 delphi下用tmscom的串列埠操作 1 傳送資料 function senddata data array of byte len integer boolean var temp variant...

關於Excel匯入的問題記錄

前提為oledb excel。根據需求,多數是對於表的資料的匯入。於是產生這麼乙個需求過程 1。準備乙個空的標準excel。2。根據表名查詢字段 3。動態生成字段表頭 4。copy空的標準excel,迴圈表頭生成新的標準excel以二進位製流匯出。5。使用者再根據表頭的提示新增資料再上傳提交。1步和...

關於Excel匯入的問題記錄

前提為oledb excel。根據需求,多數是對於表的資料的匯入。於是產生這麼乙個需求過程 1。準備乙個空的標準excel。2。根據表名查詢字段 3。動態生成字段表頭 4。copy空的標準excel,迴圈表頭生成新的標準excel以二進位製流匯出。5。使用者再根據表頭的提示新增資料再上傳提交。1步和...