www.gsyw.net > 直接排序数组C语言

直接排序数组C语言

其实就是printf("%d ",&a[i])错了的将它改成("%d ",a[i])显示的结果就对了

冒泡排序法 for(i=0;i<9-1;i++)//排八次就可以了 for(j=0;j<9-i;j++)//外循环执行一次,内循环相应操作的数字少一个

for(i=0;i<10;i++) // 循环i=9时, a[i+1]=a[10]=0 修改for(i=0;i<9;i++) { q=a[i+1]; if(a[i]>q) {p=a[i];a[i]=q;a[i+1]=p;} } }for(i=0;i<11;i++) // 输出时也不用输出最后一个元素,for(i=0;i<10;i++) printf("%d ",a[i]); printf("\n");一共数组里10个元素,从0到9 你定义了11个元素的数组,把没赋值的元素也加入到循环中了!小的元素往前换,就产生了0在最前面的情况!

插入排序算法1.从有序数列和无序数列{a2,a3,…,an}开始进行排序; 2.处理第i个元素时(i=2,3,…,n) , 数列{a1,a2,…,ai-1}是已有序的,而数列{ai,ai+1,…,an}是无序的.用ai与ai-1,a i-2,…,a1进行比较,找出合适的位置将ai插入; 3.重复第二步

#include <stdio.h>int main() { int a[10] = {5,2,4,6,3,0,7,8,9,1}; int i,j,flag = 0,temp; for(i = 1;i < 10;i++) { if(a[i] < a[flag]) { temp = a[i]; for(j = i; j > flag; --j) a[j] = a[j - 1]; a[flag] = temp; ++flag; } } for(i = 0;i < 10;i++) printf("%d ",a[i]); printf("\n"); return 0;}

1、可以用++i(i是一个变量). 2、排列应该用的栈,再输入时计算栈指针的一定次数.输入完以后按enter时保存这个数.在输出时输出这个数. 选哪个的看你程序就提要求.

#include<stdio.h>#include<stdlib.h>#define N 100struct record{int key;int otheritem;};typedef struct record RECORD;RECORD file[N+1];void insertsort(RECORD R[],int n){ int i,j; for(i=2;i<=n;i++) { R[0]=R[i]; j=i-1; while(R[0].key<R[j].key) { R[j+1]=R[j];

最低0.27元开通文库会员,查看完整内容> 原发布者:国产星期天 0881-一维数组排序(函数)时间限制:1000毫秒内存限制:32768K字节判题规则:严格比较问题描述将一个7a686964616fe58685e5aeb931333433623738整型数组从小到大

#include "stdio.h" void main() { int arry[5] = {25,65,25,85,41}; int i,temp,j; for(i=4;i>=0;i--) for(j=0;j if(arry[j]{ temp = arry[j+1]; arry[j+1] = arry[j]; arry[j] = temp; } for(i=0;i printf("%d\n",arry[i]); }

定义一个整型数组a[n],下面用五种方法对其从小到大排序.(1)“冒泡法” 冒泡法大家都较熟悉.其原理为从a[0]开始,依次将其和后面的元素比较,若a[0]>a[i ],则交换它们,一直比较到a[n].同理对a[1],a[2],a[n-1]处理,即完成排序.下面列

网站地图

All rights reserved Powered by www.gsyw.net

copyright ©right 2010-2021。
www.gsyw.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com