?? sort_bubble.c
字號:
/* 起泡排序的算法源程序*/
#include<stdio.h>
#define MAXNUM 100
#define TRUE 1
#define FALSE 0
typedef int KeyType;
typedef int DataType;
typedef struct {
KeyType key; /* 排序碼字段 */
/*DataType info; 記錄的其它字段 */
} RecordNode;
typedef struct {
int n; /* n為文件中的記錄個數,n<MAXNUM */
RecordNode record[MAXNUM];
} SortObject;
void bubbleSort(SortObject * pvector) {
int i, j, noswap;
RecordNode temp, *data = pvector->record;
for(i = 0; i < pvector->n-1; i++) { /* 做n-1次起泡 */
noswap = TRUE; /* 置交換標志 */
for (j = 0; j < pvector->n-i-1; j++) /* 從前向后掃描 */
if (data[j+1].key < data[j].key) { /* 交換記錄 */
temp = data[j];
data[j] = data[j+1];
data[j+1] = temp;
noswap = FALSE;
}
if ( noswap ) break; /* 本趟起泡未發生記錄交換,算法結束 */
}
}
SortObject vector={8, 49,38,65,97,76,13,27,49};
int main(){
int i;
bubbleSort(&vector);
for(i = 0; i < 8; i++)
printf("%d ", vector.record[i]);
getchar();
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -