数据结构 冒泡排序 c语言 源代码 急用啊
冒泡排序数组s[]的元素,从大到小。
for(int i=1;i!=n;i++) //外层循环
{
for(int j=0;j!=n-i;j++) //内层循环
{
if(s[j]<s[j+1]) //比较相邻的两个元素
{
temp=s[j]; //符合条件,交换
s[j]=s[j+1];
s[j+1]=temp;
}
}
}
static void Main(string[] args)
{
int[] myArray = new int[10];
Console.WriteLine("请输入任意10个整数:");
for (int i = 0; i < myArray.Length; i++) //循环变量控制索引,给数组里的元素赋值
{
myArray[i] = Convert.ToInt32(Console.ReadLine());
} int intTemp = 0; for (int i = 0; i < myArray.Length - 1; i++) //控制第一个数,第一个数范围从第一个到倒数第二个元素
{
for (int j = i + 1; j < myArray.Length; j++) //控制第二个数,从第一个元素的下一个元素开始到最后一个元素
{
if (myArray[i] < myArray[j]) //将较大的数放在前面
{
intTemp = myArray[i];
myArray[i] = myArray[j];
myArray[j] = intTemp;
}
}
} Console.WriteLine("排序后的顺序为:");
foreach (int inta in myArray)
{
Console.Write("{0} ", inta);
}
Console.WriteLine();
}
{
int j, k, h, t;
for (h=n-1,h=k; h>0; h--) /*循环到没有比较范围*/
{
for (j=0, k=0; j<h; j++) /*每次预置k=0,循环扫描后更新k*/
{
if (*(x+j) > *(x+j+1)) /*大的放在后面,小的放到前面*/
{
t = *(x+j);
*(x+j) = *(x+j+1);
*(x+j+1) = t; /*完成交换*/
k = j; /*保存最后下沉的位置。这样k后面的都是排序排好了的。*/
}
}
}
}
#include<stdio.h>
#include <iostream.h>
void main()
{
int a[10];
int temp;
cout<<"please enter 10 number: ";
for (int m=0;m<10;m++)
{
cin>>a[m];
}
for(int i=0;i<9;i++)
{
for(int j =0; j<9-i;j++)
{
if(a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] =temp;
}
}
}
for(int x=0;x<10;x++)
{
cout<<a[x]<<" ";
}
}
程序只是十个数字的排序,可以自己修改下。
#include<stdio.h>
main()
{
char a[30],j;
scanf("%s",a);
for(int k=0;k<30;k++)
for(int i=0;i<30-k;i++)
if(a[i]<a[i+1])
{
j=a[i];
a[i]=a[i+1];
a[i+1]=j;
}
printf("%s",a);
}
冒泡
诗隶米诺: void main(void) { int a[10]={2,4,6,7,8,1,3,5,9,10}; int *p1=a,*p2=a+9,temp; printf("排序前: \n"); for(p1=a;p1 { printf("%d ",*p1); } for(p1=a;p1 for(p2=p1+1;p2 {if(*p2>*p1)/*这也要加个判断语句*/ { temp=*p1; *p1=*p2; *p2=temp; } } printf("\n"); printf("排序后: \n"); for(p1=a;p1 { printf("%d ",*p1); } printf("\n"); getch();/*加一中断*/ }
工农区18641521166: C数据结构冒泡排序 - ?
诗隶米诺: 修改:for(j=n-1;j>=i;j--)if(R[j+1].key {int t = 0;t=R[j].key;R[j]=R[j+1];R[j+1].key=t;exchange=1;} 了解一下冒泡排序(BubbleSort)的基本概念: 依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2...
工农区18641521166: 数据结构冒泡(c语言) - ?
诗隶米诺: #include#include#define MAXSIZE 10#define LT(a,b) ((a)typedef int KeyType; typedef struct { KeyType r[MAXSIZE+1]; int length; }SqList; void Bubble_Sort(SqList &L) { int i,j; bool flag; for(i=1;i{ for(j=1,flag=true;j{ if(LT(L.r[j+1],L.r[j])) { flag=false; L.r[0]...
工农区18641521166: 数据结构C语言版冒泡排序的程序和应用,谁能帮我写一个.?
诗隶米诺: #include <stdio.h> int main(void) { int a[10],i,j,t; printf("请输入10个数据:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(j=0;j<9;j++) for(i=0;i<9-j;i++) if(a[i]>a[i+1]) {t=a[i+1];a[i+1]=a[i];a[i]=t;} printf("排序后的10的数据为:\n"); for(i=0;i<10;i++) { printf("%d",a[i]); printf("\t"); } system("PAUSE"); return 0; }
工农区18641521166: C语言数组排序:递增、递减、冒泡...最好有代码+注释 谢谢 - ?
诗隶米诺: #include <stdio.h> #include <conio.h> int main() { int array[7] = {3, 35, 44, 342, 43, 432, 98}; int i, j; int t; for (i = 0; i < 7 ; i++) { for (j = i; j < 7; j++) { if (array[i] > array[j]) { t = array[i]; array[i] = array[j]; array[j] = t; } } } for (i = 0; i < 7; i++) printf("%d ", array...
工农区18641521166: 冒泡法排序的C代码,帮我看下哪里错了? - ?
诗隶米诺: #include void main(){ int a[10],i,j,temp; temp=0; for (i=0;i<10;i++) { scanf("%d", } for (i = 0; i<9; i++) { for (j=0;j...
工农区18641521166: 以vi为编辑工具,用c语言编写程序,获取6个2位随机数据,然后按照数值从小到大冒泡排序.链接后运行. - ?
诗隶米诺: vi XXX.c --编辑C源代码啦~~ 获取6个2位随机数据 -- 先定义个长度为6的int数组,然后循环一次用rand()生成随机数为数组元素赋初值.然后对这个数组中的数据进行排序,用冒泡法(你可以说你忘记了,但别说你不会...) 编辑完源文件,编译程序: gcc -o output_file source_file.c
工农区18641521166: C语言实现七种排序算法的 演示代码!!! - ?
诗隶米诺: (1)“冒泡法” 冒泡法大家都较熟悉.其原理为从a[0]开始,依次将...
工农区18641521166: 冒泡排序算法怎么编写? - ?
诗隶米诺: 关于各种排序算法(冒泡排序、SHELL排序、归并排序、快速排序等)、以及各种查找算法(顺序查找、二分查找等)的源代码,现在都有现成的数据结构教材(C语言版)可以参考.那上面都会有 C 语言版的源代码.只需要编写者根据自己的需要稍微对不同的程序需求稍作修改即可.
工农区18641521166: 在数据结构中用c语言怎么编写用单链表将26个字母排序的程序? - ?
诗隶米诺: #include //申明链表 typedef struct node { char num; struct node *next; }list; void Bubble_sort(list *L);//链表的冒泡排序 void Dis_list(list *L);//遍历单链表 int main() {//建表 list *r,*s,*p; int n=26;//存储数据的个数 s=NULL; for(int i='Z';i>='A';i--) { r=(...