第一趟排序:[1,2,4,3] 交换次数:1 比较次数:1 第二趟排序:[1,2,4,3] 交换次数:0 比较次数:1 第三趟排序:[1,2,3,4] 交换次数:1 比较次数:2 从小到大排列[4,3,2,1] 第一趟排序:[3,4,2,1] 交换次数:1 比较次数:1 第二趟排序:[2,3,4,1] 交换次数:2 比较次数:2 第三趟排序:[1...
始终定义第一个元素为有序的,将元素逐个插入到有序排列之中,其特点是要不断的移动数据,空出一个适当的位置,把待插入的元素放到里面去。插入排序的函数如下: insertion_sort(int *arr,int len) { int i,j,tmp; for(i=1;i<len;i++) { j=i-1; tmp=arr[i]; while(j>=0&&arr[j]>tmp) { arr[...
p=head->next;//p结点从链表头结点开始q=p->next;//q指向p所指结点的下一个结点while(p->next!=end)//当p->next的值为end时,表示到链尾{if(p->data>q->data)//按照数据域从小到大排序{ temp=p->data; p->data=q->data; q->data=temp; } p=q; q=q->next; } end=p;//使end指向每...