ref 1: 20191023安裝Dev-C++來設計檔案內容讀取分析程式
ref 2: 20191111用python設計氣泡排序法(採升序排列,ascending)
ref 3:20191111用python編寫選擇排序法程式(採升序排列,ascending)
(1) 在DEV-C++中按CTRL+N編寫如下程式碼並存為d:\bsort.cpp (按CTRL+S可存檔)
#include <stdio.h> int main(void) { int a[] = {4, 5, 8, 1, 3,2,7}; int size =sizeof(a)/sizeof(a[0]) ; int i,j,t,k; printf("\n1:數列長度=%d ,數列註標由0開始,最末數的註標為%d",size,size-1); printf("\n2:排序前 a[]="); for (i = 0; i < size; i++) printf("%3d",a[i]); printf("\n3:氣泡排序中…"); for (i=0;i<size-1;i++){ for (j=0;j<size-i;j++){ if (a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } printf("\n i=%3d a[]=",i); for (k = 0; k < size; k++) printf("%3d",a[k]); } printf("\n3:排序後 a[]="); for (i = 0; i < size; i++) printf("%3d",a[i]); printf("\n");
return (0); }
(2)按F11編譯並執行,bsort.cpp執行結果如下:
1:數列長度=7 ,數列註標由0開始,最末數的註標為6 2:排序前 a[]= 4 5 8 1 3 2 7 3:氣泡排序中… i= 0 a[]= 4 5 1 3 2 7 8 i= 1 a[]= 4 1 3 2 5 7 8 i= 2 a[]= 1 3 2 4 5 7 8 i= 3 a[]= 1 2 3 4 5 7 8 i= 4 a[]= 1 2 3 4 5 7 8 i= 5 a[]= 1 2 3 4 5 7 8 3:排序後 a[]= 1 2 3 4 5 7 8
(3)在DEV-C++中按CTRL+N編寫如下程式碼並存為d:\ssort.cpp (按CTRL+S可存檔)
#include <stdio.h> int main(void) { int a[] = {9, 5, 8, 1, 3,2,7}; int size =sizeof(a)/sizeof(a[0]) ; int i,j,k,t; printf("\n1:數列長度=%d ,數列註標由0開始,最末數的註標為%d",size,size-1); printf("\n2:排序前 a[]="); for (i = 0; i < size; i++) printf("%3d",a[i]); printf("\n3:選擇排序中…"); for (i=0;i<size-1;i++){ int mini=i; for (j=i+1;j<size;j++){ if (a[j]<a[mini]) mini=j; } printf("\n i=%d 交換前a[%d]=%d , a[%d]=%d mini=%d 交換後a[]=",i,i,a[i],mini,a[mini],mini); t=a[mini]; a[mini]=a[i]; a[i]=t; for (k = 0; k < size; k++) printf("%3d",a[k]);
} printf("\n4:排序後 a[]="); for (i = 0; i < size; i++) printf("%3d",a[i]); printf("\n");
return (0); }
(4)按F11編譯並執行,ssort.cpp執行結果如下:
1:數列長度=7 ,數列註標由0開始,最末數的註標為6 2:排序前 a[]= 9 5 8 1 3 2 7 3:選擇排序中… i=0 交換前a[0]=9 , a[3]=1 mini=3 交換後a[]= 1 5 8 9 3 2 7 i=1 交換前a[1]=5 , a[5]=2 mini=5 交換後a[]= 1 2 8 9 3 5 7 i=2 交換前a[2]=8 , a[4]=3 mini=4 交換後a[]= 1 2 3 9 8 5 7 i=3 交換前a[3]=9 , a[5]=5 mini=5 交換後a[]= 1 2 3 5 8 9 7 i=4 交換前a[4]=8 , a[6]=7 mini=6 交換後a[]= 1 2 3 5 7 9 8 i=5 交換前a[5]=9 , a[6]=8 mini=6 交換後a[]= 1 2 3 5 7 8 9 4:排序後 a[]= 1 2 3 5 7 8 9
(5)在DEV-C++中按CTRL+N編寫如下程式碼並存為d:\isort.cpp (按CTRL+S可存檔)
#include <stdio.h> int main(void) { int a[] = {9, 5, 8, 1, 3 , 2 , 7}; int size =sizeof(a)/sizeof(a[0]) ; int i,j,k,t; printf("\n1:數列長度=%d ,數列註標由0開始,最末數的註標為%d",size,size-1); printf("\n2:排序前數列 a[]="); for (i = 0; i < size; i++) printf("%3d",a[i]); printf("\n3:插入排序中…"); for (i=0;i<size-1;i++){ printf("\n i=%d 待插入元素為a[%d]=%d 插入後 a[]=",i,i+1,a[i+1]); for (j=i+1;j>0;j--){ if (a[j]>a[j-1]) break; else{ t=a[j]; a[j]=a[j-1]; a[j-1]=t; } } for (k = 0; k < size; k++) printf("%3d",a[k]); } printf("\n4:排序後數列 a[]="); for (i = 0; i < size; i++) printf("%3d",a[i]); printf("\n");
return (0); }
(6)按F11編譯並執行,isort.cpp執行結果如下:
1:數列長度=7 ,數列註標由0開始,最末數的註標為6 2:排序前數列 a[]= 9 5 8 1 3 2 7 3:插入排序中… i=0 待插入元素為a[1]=5 插入後 a[]= 5 9 8 1 3 2 7 i=1 待插入元素為a[2]=8 插入後 a[]= 5 8 9 1 3 2 7 i=2 待插入元素為a[3]=1 插入後 a[]= 1 5 8 9 3 2 7 i=3 待插入元素為a[4]=3 插入後 a[]= 1 3 5 8 9 2 7 i=4 待插入元素為a[5]=2 插入後 a[]= 1 2 3 5 8 9 7 i=5 待插入元素為a[6]=7 插入後 a[]= 1 2 3 5 7 8 9 4:排序後數列 a[]= 1 2 3 5 7 8 9
|