正文

双端选择排序算法2006-07-30 02:27:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/petibo/16987.html

分享到:

template <typename T>   void SelectionSort(T arr[],int n)   {   int smallIndex;   //表中最小元素的下标   int pass,j;       //用来扫描子表的下标   T temp;           //用来交换表元素的临时变量     //pass的范围是0~n-2   for (pass=0;pass<n-1;pass++)   {   //从下标pass开始扫描子表   smallIndex=pass;     //j遍历整个子表arr[pass+1]到arr[n-1]   for(j=pass+1;j<n;j++)     //如果找到更小的元素,则将该位置赋值给smallIndex   if(arr[j]<arr[smallIndex])   smallIndex=j;     //如果smallIndex和pass不在相同的位置   //则将子表中的最小项与arr[pass]交换   if(smallIndex!=pass)   {   temp=arr[pass];   arr[pass]=arr[smallIndex];   arr[smallIndex]=temp;   }   }   } 

阅读(1869) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册