冒泡排序(C、Python)
2021-03-19 09:26
标签:数字 scan lse 位置 %s 冒泡 ble bre solution
BEGIN:
1、冒泡排序思想(升序排序):
如 a=[9,6,8,7,5,3]
i=0
第一趟排序:3与5比较,3和5交换位置,a=[9,6,8,7,3,5]; j=len-1
3与7比较,3和7交换位置,a=[9,6,8,3,7,5]; j=len-2
3与8比较,3和8交换位置,a=[9,6,3,8,7,5]; j=len-3
3与6比较,3和6交换位置,a=[9,3,6,8,7,5]; j=len-4
3与9比较,3和9交换位置,a=[3,9,6,8,7,5]; j=len-5=i
第一趟排序结束,此时3在正确的位置上,a=[3,9,6,8,7,5]
i=1
第二趟排序:5与7比较,5和7交换位置,a=[3,9,6,8,5,7]; j=len-1
5与8比较,5和8交换位置,a=[3,9,6,5,8,7]; j=len-2
5与6比较,5和6交换位置,a=[3,9,5,6,8,7]; j=len-3
5与9比较,5和9交换位置,a=[3,5,9,6,8,7]; j=len-4=i
第二趟排序结束,此时3和5在正确的位置上,a=[3,5,9,6,8,7]
i=2
第三趟排序:7与8比较,7和8交换位置,a=[3,5,9,6,7,8]; j=len-1
7与6比较,不用交换位置,a=[3,5,9,6,7,8]; j=len-2
6与9比较,6和9交换位置,a=[3,5,6,9,7,8]; j=len-3=i
第三趟排序结束,此时3、5、6在正确的位置上,a=[3,5,6,9,7,8]
i=3
第四趟排序:8与7比较,不用交换位置,a=[3,5,6,9,7,8]; j=len-1
7与9比较,7和9交换位置,a=[3,5,6,7,9,8]; j=len-2=i
第四趟排序结束,此时3、5、6、7在正确的位置上,a=[3,5,6,7,9,8]
i=4
第五趟排序:8与9比较,8和9交换位置,a=[3,5,6,7,8,9]; j=len-1=i
第五趟排序结束,此时所有数字都在正确的位置上,a=[3,5,6,7,9,8]
冒泡排序结束。
代码:
C语言:
数字冒泡排序
#include#字符串冒泡排序 void Bubble(int s[], int len){ int i,j; for(i=0;i ){ int f=1; for(j=len-1;j>i;j--){ if(s[j-1]>s[j]){ char t=s[j]; s[j]=s[j-1]; s[j-1]=t; } } if(f){ break; } } } int main(){ int a[]={9,6,8,7,5,3}; len = sizeof(a)/sizeof(a[0]); Bubble(a,len); for(int i=0;i ){ printf("%d",a[i]); } printf("\n"); return 0; }
字符串冒泡排序
#include#include #字符串冒泡排序 void Bubble(int s[], int len){ int i,j; for(i=0;i ){ int f=1; for(j=len-1;j>i;j--){ if(s[j-1]>s[j]){ char t=s[j]; s[j]=s[j-1]; s[j-1]=t; } } if(f){ break; } } } int main(){ char s[1024]; scanf("%s",s); len = strlen(s); Bubble(s,len); printf("%s\n",s); return 0; }
Python:
数字冒泡排序:
def Bubble(a):
n = len(a)
for i in range(n-1):
f=True
for j in range(n-1,i,-1):
if a[j]]:
t = a[j]
a[j]=a[j-1]
a[j-1]=t
f=False
if f:break
return a
def solution():
a=[9,6,8,7,5,3]
a=Bubble(a)
for k in a:
print(k,end=(‘ ‘))
print()
END.
冒泡排序(C、Python)
标签:数字 scan lse 位置 %s 冒泡 ble bre solution
原文地址:https://www.cnblogs.com/gangpei/p/13947778.html
下一篇:JavaDoc文档生成