首页 > 代码库 > HDU2689-Sort it-冒泡排序
HDU2689-Sort it-冒泡排序
Sort it
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4679 Accepted Submission(s): 3250
Problem Description
You want to processe a sequence of n distinct integers by swapping two adjacent sequence elements until the sequence is sorted in ascending order. Then how many times it need.
For example, 1 2 3 5 4, we only need one operation : swap 5 and 4.
For example, 1 2 3 5 4, we only need one operation : swap 5 and 4.
Input
The input consists of a number of test cases. Each case consists of two lines: the first line contains a positive integer n (n <= 1000); the next line contains a permutation of the n integers from 1 to n.
Output
For each case, output the minimum times need to sort it in ascending order on a single line.
Sample Input
3
1 2 3
4
4 3 2 1
Sample Output
0
6
题意很好理解,直接就想到冒泡排序了。
然而智障,在写的时候wa了一次。。。
代码:
#include<stdio.h> int main() { int a[10000]; int i,j,t,n,ans; while(~scanf("%d\n",&n)){ for(i=0;i<n;i++) scanf("%d",&a[i]); ans=0; for(j=0;j<n-1;j++){ //是n-1,不是n。。。 for(i=0;i<n-j-1;i++) //是n-j-1,不是n-j,智障 if(a[i]>a[i+1]){ t=a[i]; a[i]=a[i+1]; a[i+1]=t; ans++; } } printf("%d\n",ans); } return 0; }
。。。
HDU2689-Sort it-冒泡排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。