发布网友 发布时间:2022-04-24 03:49
共1个回答
热心网友 时间:2023-10-26 00:55
我给你所有的算法,你自己去组合一下就好了。。 1.直接插入排序:算法:void InsSort(RecordType r[], int length) /* 对记录数组r做直接插入排序,length为数组中待排序记录的数目*/ { int i,j; for (i=2; i<=length; i++) { r[0]=r[i]; /*将待插入记录存放到监视哨r[0]中*/ j=i-1; while (r[0].key< r[j].key ) /* 寻找插入位置 */ { r[j+1]= r[j]; j=j-1; } r[j+1]=r[0]; /*将待插入记录插入到已排序的序列中*/ } } /* InsSort */ 2.冒泡排序:算法:void BubbleSort(RecordType r[], int length ) /*对记录数组r做冒泡排序,length为数组的长度*/ { int n,i,j; int change; RecordType x; n=length; change=TRUE; for ( i=1 ; i<= n-1 && change ;++i ) { change=FALSE; for ( j=1 ; j r[j+1].key ) { x= r[j]; r[j]= r[j+1]; r[j+1]= x; change=TRUE; } } } /* BubbleSort */ 3.快速排序:算法:void QKSort(RecordType r[],int low, int high ) /*对记录数组r[low..high]用快速排序算法进行排序*/ { int pos; if(low热心网友 时间:2023-10-26 00:55
我给你所有的算法,你自己去组合一下就好了。。 1.直接插入排序:算法:void InsSort(RecordType r[], int length) /* 对记录数组r做直接插入排序,length为数组中待排序记录的数目*/ { int i,j; for (i=2; i<=length; i++) { r[0]=r[i]; /*将待插入记录存放到监视哨r[0]中*/ j=i-1; while (r[0].key< r[j].key ) /* 寻找插入位置 */ { r[j+1]= r[j]; j=j-1; } r[j+1]=r[0]; /*将待插入记录插入到已排序的序列中*/ } } /* InsSort */ 2.冒泡排序:算法:void BubbleSort(RecordType r[], int length ) /*对记录数组r做冒泡排序,length为数组的长度*/ { int n,i,j; int change; RecordType x; n=length; change=TRUE; for ( i=1 ; i<= n-1 && change ;++i ) { change=FALSE; for ( j=1 ; j r[j+1].key ) { x= r[j]; r[j]= r[j+1]; r[j+1]= x; change=TRUE; } } } /* BubbleSort */ 3.快速排序:算法:void QKSort(RecordType r[],int low, int high ) /*对记录数组r[low..high]用快速排序算法进行排序*/ { int pos; if(low热心网友 时间:2023-10-26 00:55
我给你所有的算法,你自己去组合一下就好了。。 1.直接插入排序:算法:void InsSort(RecordType r[], int length) /* 对记录数组r做直接插入排序,length为数组中待排序记录的数目*/ { int i,j; for (i=2; i<=length; i++) { r[0]=r[i]; /*将待插入记录存放到监视哨r[0]中*/ j=i-1; while (r[0].key< r[j].key ) /* 寻找插入位置 */ { r[j+1]= r[j]; j=j-1; } r[j+1]=r[0]; /*将待插入记录插入到已排序的序列中*/ } } /* InsSort */ 2.冒泡排序:算法:void BubbleSort(RecordType r[], int length ) /*对记录数组r做冒泡排序,length为数组的长度*/ { int n,i,j; int change; RecordType x; n=length; change=TRUE; for ( i=1 ; i<= n-1 && change ;++i ) { change=FALSE; for ( j=1 ; j r[j+1].key ) { x= r[j]; r[j]= r[j+1]; r[j+1]= x; change=TRUE; } } } /* BubbleSort */ 3.快速排序:算法:void QKSort(RecordType r[],int low, int high ) /*对记录数组r[low..high]用快速排序算法进行排序*/ { int pos; if(low热心网友 时间:2023-10-26 00:55
我给你所有的算法,你自己去组合一下就好了。。 1.直接插入排序:算法:void InsSort(RecordType r[], int length) /* 对记录数组r做直接插入排序,length为数组中待排序记录的数目*/ { int i,j; for (i=2; i<=length; i++) { r[0]=r[i]; /*将待插入记录存放到监视哨r[0]中*/ j=i-1; while (r[0].key< r[j].key ) /* 寻找插入位置 */ { r[j+1]= r[j]; j=j-1; } r[j+1]=r[0]; /*将待插入记录插入到已排序的序列中*/ } } /* InsSort */ 2.冒泡排序:算法:void BubbleSort(RecordType r[], int length ) /*对记录数组r做冒泡排序,length为数组的长度*/ { int n,i,j; int change; RecordType x; n=length; change=TRUE; for ( i=1 ; i<= n-1 && change ;++i ) { change=FALSE; for ( j=1 ; j r[j+1].key ) { x= r[j]; r[j]= r[j+1]; r[j+1]= x; change=TRUE; } } } /* BubbleSort */ 3.快速排序:算法:void QKSort(RecordType r[],int low, int high ) /*对记录数组r[low..high]用快速排序算法进行排序*/ { int pos; if(low