数据结构中,请分别写出直接插入排序、冒泡排序、简单选择排序的各趟结果

现有某无序关键字序列:{56,34,78,26,9,67,12,36}。请分别写出直接插入排序、冒泡排序、简单选择排序的各趟结果要JAVA的........ 现有某无序关键字序列:{56, 34, 78, 26, 9, 67, 12, 36}。请分别写出直接插入排序、冒泡排序、简单选择排序的各趟结果
要JAVA的.....
展开
 我来答
曾全4M
2013-12-23 · 超过30用户采纳过TA的回答
知道答主
回答量:206
采纳率:0%
帮助的人:57万
展开全部

#include<iostream>
using namespace std;
int a[8] ={56,34,78,26,9,67,12,36};
int b[8] ={56,34,78,26,9,67,12,36};
int c[8] ={56,34,78,26,9,67,12,36};
int insert_sort(int n)
{
  int j,temp;
 for(int i = 1;i < n; i++)
 {
  if(a[i] < a[i-1])
  {
   temp = a[i];j = i-1;
   do{
    a[j+1] = a[j];
    j--;
   }while(temp <= a[j]);
   a[j+1] = temp;
  }
  for(int i = 0; i< n; i++)
      cout<<a[i]<<ends;
    cout<<endl;
 }
 return 0;
}

int bubbleSort(int n)
{
    int i,j,t;
    bool exchange;
    for(j = 0; j<n-1; j++)
    {
          exchange = 0;
          for(i = 0;i< n-j-1; i++)
             if(b[i]>b[i+1])
             {
                 t = b[i];
                 b[i] = b[i+1];
                 b[i+1] = t;
                 exchange = 1;
             }
          for(int i = 0; i< n; i++)
             cout<<b[i]<<ends;
          cout<<endl; 
          if(!exchange)
          return 1;
    }
    return 0;
}

int selectSort(int n)
{
    int i,j,k,temp;
    for(i = 0; i< n-1; i++)
    {
          k = i;
          for(j = i+1; j< n; j++)
          {
                if(c[k]>c[j])
                   k = j;
          }
          if(k!= i)
          {
                 temp = c[i];
                 c[i] = c[k];
                 c[k] = temp;
          }
          for(int i = 0; i< n; i++)
               cout<<c[i]<<ends;
          cout<<endl;
    }
    return 0;
}
int main()
{
 int n= 8;
  cout<<"插入排序,每次(第一行是原来的序列):"<<endl;
  for(int i = 0; i< n; i++)
      cout<<a[i]<<ends;
  cout<<endl;
 insert_sort(n);
 cout<<"最终结果:"<<endl;
 for(int i = 0; i< n; i++)
  cout<<a[i]<<ends;
 cout<<endl<<endl;
 
 cout<<"冒泡法,每次(第一行是原来的序列):"<<endl;
 for(int i = 0; i< n; i++)
      cout<<b[i]<<ends;
  cout<<endl;
  bubbleSort(8);
  cout<<"最终结果:"<<endl;
 for(int i = 0; i< n; i++)
  cout<<b[i]<<ends;
 cout<<endl<<endl;
 
  cout<<"选择排序,每次(第一行是原来的序列):"<<endl;
  for(int i = 0; i< n; i++)
      cout<<c[i]<<ends;
  cout<<endl;
  selectSort(8);
  cout<<"最终结果:"<<endl;
 for(int i = 0; i< n; i++)
  cout<<c[i]<<ends;
 cout<<endl;
  
 system("pause");
}

追问
我是Java的....
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式