青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

天之道

享受編程的樂趣。
posts - 118, comments - 7, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

#include<stdio.h>
void swap(int *a,int *b)
{
    
int tmp;
    tmp
=*a;
    
*a=*b;
    
*b=tmp;
}

void quicksort(int k[],int s,int t)
{
    
int i,j;
    
if(s<t)
    {
        i
=s;
        j
=t+1;
        
while(1)
        {
            
do i++;
            
while(!(k[s]>=k[i] || i==t));//重復執行i++操作
            do j--;
            
while(!(k[s]<=k[j] || j==s));//重復執行j--操作

            
if(i<j)
                swap(
&k[i],&k[j]); //交換k[i]和k[j]的位置
            else
                
break;
        }
        swap(
&k[s],&k[j]);   //交換基準元素與k[j]的位置
        quicksort(k,s,j-1);  //遞歸排序基準元素前面的子序列
        quicksort(k,j+1,t);  //遞歸排序基準元素后面的子序列
    }
}

int main()
{
    
int k[10]={2,5,6,3,7,8,0,9,12,1},i;
    printf(
"The orginal data array is\n");
    
for(i=0;i<10;i++)
        printf(
"%d ",k[i]);
    quicksort(k,
0,9);  //從大到小排序
    printf("\nThe result of quick sorting for the array is\n");
    
for(i=0;i<10;i++)
        printf(
"%d ",k[i]);
    
return 0;
}

posted @ 2012-03-04 17:14 hoshelly 閱讀(180) | 評論 (0)編輯 收藏

//希爾排序算法思想:縮小增量gap->劃分序列->將每個子序列排序
#include<stdio.h>
void shellsort(int k[],int n)
{
    
int i,j,flag,gap=n;
    
int tmp;
    
while(gap>1)
    {
        gap
=gap/2;
        
do{
            flag
=0;
            
for(i=1;i<=n-gap;i++)
            {
                j
=i+gap;
                
if(k[i]<k[j])
                {
                    tmp
=k[i];
                    k[i]
=k[j];
                    k[j]
=tmp;
                    flag
=1;
                }
            }
        }
while(flag!=0);
    }
}

int main()
{
    
int i,a[11]={-111,2,5,6,3,7,8,0,9,12,1};
    printf(
"The orginal data array is\n");
    
for(i=1;i<=10;i++)
        printf(
"%d ",a[i]);

    shellsort(a,
10);

    printf(
"\nThe result of Shell's sorting for the array is\n");//從大到小排序
    for(i=1;i<=10;i++)
        printf(
"%d ",a[i]);
    
return 0;
}

posted @ 2012-03-04 16:13 hoshelly 閱讀(260) | 評論 (0)編輯 收藏

#include<stdio.h>
int insertsort(int a[],int n)//直接排序法
{
    
int i,j;
    
for(i=2;i<=n;i++)
    {
        a[
0]=a[i]; //a[0]作為臨時變量存儲a[i]
        j=i-1;
        
while(j>0 && a[0]>a[j])//從大到小排列
            a[j+1]=a[j--];
        a[j
+1]=a[0]; //將元素a[0]插入指定位置
    }
    
return 0;
}

int main()
{
    
int i,a[11]={-111,2,5,6,3,7,8,0,9,12,1};//a[0]沒有使用
    printf("The orginal data array is\n");
    
for(i=1;i<=10;i++)
        printf(
"%d ",a[i]);
    insertsort(a,
10);
    printf(
"\nThe result of insertion sorting for the array is\n");
    
for(i=1;i<=10;i++)
        printf(
"%d ",a[i]);
    printf(
"\n");
    
return 0;
}

posted @ 2012-03-04 15:19 hoshelly 閱讀(145) | 評論 (0)編輯 收藏

#include<stdio.h> //用先序序列創建一棵二叉樹,并輸出字符D位于二叉樹的層數
#include<stdlib.h>
#include
<conio.h>
typedef 
struct BiTNode
{
    
char data;
    
struct BiTNode *lchild,*rchild;
}BiTNode,
*BiTree;

CreatBiTree(BiTree 
*T)
{
    
char c;
    scanf(
"%c",&c);
    
if(c == ' '*T=NULL; //如果輸出的是空格,則表示創建的子樹結束
    else
    {
        
*T=(BiTNode*)malloc(sizeof(BiTNode)); //創建根結點
        (*T)->data=c; //向根結點中輸入數據
        CreatBiTree(&((*T)->lchild)); //遞歸地創建左子樹
        CreatBiTree(&((*T)->rchild)); //遞歸地創建右子樹
    }
}
//訪問二叉樹結點,輸出包含D字符結點位于二叉樹中的層數
visit(char c,int level)
{
    
if(c=='D')
        printf(
"%c is at %d lever of BiTree\n",c,level);
}
PreOrderTraverse(BiTree T,
int level)
{
    
if(T)    //遞歸結束條件,T為空
    {
        visit(T
->data,level);//訪問根結點
        PreOrderTraverse(T->lchild,level+1);
        PreOrderTraverse(T
->rchild,level+1);
    }
}

int main()
{
    
int level=1;
    BiTree T
=NULL; //最開始T指向空
    CreatBiTree(&T);
    PreOrderTraverse(T,level);
    getche();
    
return 0;
}

posted @ 2012-03-03 20:05 hoshelly 閱讀(2252) | 評論 (0)編輯 收藏

//隊列的基本操作:實現一個鏈隊列,任意輸入一串字符,以@為結束標志,然后將隊列中的元素逐一取出,打印在屏幕上
#include<stdio.h>
#include
<stdlib.h>
#include
<conio.h>
typedef 
char ElemType;
typedef 
struct QNode
{
    ElemType data;
    
struct QNode *next;
}QNode,
*QueuePtr;
typedef 
struct{
    QueuePtr front; 
//隊頭指針
    QueuePtr rear;  //隊尾指針
}LinkQueue;

initQueue(LinkQueue 
*q) //創建一個頭結點,隊頭隊尾指針指向該結點
{
    q
->front=q->rear=(QueuePtr)malloc(sizeof(QNode));

    
if(!q->front) exit(0);
    q
->front->next=NULL;
}

EnQueue(LinkQueue 
*q,ElemType e)
{
    QueuePtr p;
    p
=(QueuePtr)malloc(sizeof(QNode));
    
if(!q->front) exit(0);
    p
->data=e;      //數據e入列
    p->next=NULL;
    q
->rear->next=p;
    q
->rear=p;
}

DeQueue(LinkQueue 
*q,ElemType *e)//如果隊列q不為空,刪除q的隊頭元素,用e返回其值
{
    QueuePtr p;
    
if(q->front==q->rear) return//隊列為空,返回
    p=q->front->next;
    
*e=p->data;
    q
->front->next=p->next;
    
if(q->rear==p) q->rear=q->front;//如果隊頭就是隊尾,則修改隊尾指針
    free(p);
}

int main()
{
    ElemType e;
    LinkQueue q;
    initQueue(
&q);
    printf(
"Please input a string into a queue\n");
    scanf(
"%c",&e);
    
while(e!='@')
    {
        EnQueue(
&q,e);
        scanf(
"%c",&e);
    }
    printf(
"The string into the queue is\n");
    
while(q.front!=q.rear)
    {
        DeQueue(
&q,&e);
        printf(
"%c",e);
    }

    printf(
"\n");
    getche();
    
return 0;
}

posted @ 2012-03-03 18:42 hoshelly 閱讀(329) | 評論 (0)編輯 收藏

//二進制轉換為十進制數(利用棧的數據結構)
#include<stdio.h>
#include
<math.h>
#include
<stdlib.h>
#include
<conio.h>
#define STACK_INIT_SIZE 20
#define STACKINCREMENT 10

typedef 
char ElemType;
typedef 
struct{
    ElemType 
*base;
    ElemType 
*top;
    
int stacksize;
}sqStack;

initStack(sqStack 
*s) //創建一個棧
{
    s
->base=(ElemType*)malloc(STACK_INIT_SIZE*sizeof(ElemType));
    
if(!s->base)  exit(0);
    s
->top=s->base;
    s
->stacksize=STACK_INIT_SIZE;
}
Push(sqStack 
*s,ElemType e){
    
if(s->top-s->base>=s->stacksize){
        s
->base=(ElemType*)realloc(s->base,(s->stacksize+STACKINCREMENT)*sizeof(ElemType));
        
if(!s->base) exit(0);
        s
->top=s->base+s->stacksize;
        s
->stacksize=s->stacksize+STACKINCREMENT;
    }
    
*(s->top)=e;
    s
->top++;
}

Pop(sqStack 
*s,ElemType *e){
    
if(s->top==s->basereturn;
    
*e=*--(s->top);
}

int StackLen(sqStack s){ //計算棧的當前容量
    return (s.top-s.base);
}

int main()
{
    ElemType c;
    sqStack s;   
//
    int len,i,sum=0;
    printf(
"Please input a Binary digit\n");

    initStack(
&s);
    
//輸入0/1字符表示的二進制數,以#結束

    scanf(
"%c",&c);
    
while(c!='#')
    {
        Push(
&s,c);
        scanf(
"%c",&c);
    }
    getchar();
    len
=StackLen(s);

    
for(i=0;i<len;i++)
    {
        Pop(
&s,&c);
        sum
=sum+(c-48)*pow(2,i);//c-48是為了得到該字符對應的0/1值,這是因為字符0的ASCII碼為48
    }
    printf(
"Decimal is %d\n",sum);
    getche();
    
return 0;
}


//清空一個棧 代碼
ClearStack(sqStack *s)
{
    s
->top=s->base;
}

//銷毀一個棧 代碼

DestroyStack(sqStack 
*s)
{
    
int i,len;
    len
=s->stacksize;
    
for(i=0;i<len;i++)
    {
        free(s
->base);
        s
->base++;
    }
    s
->base=s->top=NULL;
    s
->stacksize=0;
}

posted @ 2012-03-03 14:06 hoshelly 閱讀(679) | 評論 (0)編輯 收藏

描述

Fibonacci數列:0,1,1,2,3,5,8,13,21,…
從0開始,后續的數具有這樣的性質:當前的數是其前面兩個數之和。編寫一個函數計算第n個Fibonacci數。規定:Fibonacci(1)=1,fibonacci(2)=1。

輸入

第一行1個整數t,表示有t組數據。以下t行,每行一個整數n。

輸出

共t行,對于每個n,輸出第n個Fibonacci數(結果不超過long int的范圍)。

樣例輸入
2 3 5
樣例輸出
2 5
int main()
{
    
int t,i=0;
    
int a[10];
    scanf(
"%d",&t);
    
while(t--)
    {
            
int pre=1,next=1,result=1;
            scanf(
"%d",&a[i]);
            
while(a[i]>2)
            {
                a[i]
--;
                next
=pre;
                pre
=result;
                result
=pre+next;
            }
            printf(
"%d\n",result);
            i
++;
    }
    
return 0;
}

posted @ 2012-03-01 22:16 hoshelly 閱讀(520) | 評論 (0)編輯 收藏

描述

“回文”是一種特殊的數或者文字短語。他們無論是順讀還是倒讀,結果都一樣。例如:12321, 55555,45554。讀入一個5位整數,判斷它是否是回文數。

輸入

多組測試數據,每組一行,一個五位整數,數據以0結尾。

輸出

對每組輸入數據輸出一行,如果輸入數是回文數,輸出“Yes.” ,否則輸出 “No.” 。

樣例輸入
12345 12321 11111 0
樣例輸出
No. Yes. Yes. 


 源代碼如下,注意循環長度為(length/2+1)。

#include<stdio.h>
#include
<string.h>
#include 
<stdlib.h>
int main()
{
    
int n,length,i=0,c;
    
char str[6];
    
while(scanf("%d",&n)!=EOF)
    {
        
if(n==0)
            exit(
1);
        c
=0;
        sprintf(str,
"%d",n);
        length
=strlen(str);
        
for(i=0;i<(length/2+1);i++)
        {
            
if(str[i]==str[length-i-1])
                c
++;
            
else
                
break;
        }
        
if(c==3)
            printf(
"Yes.\n");
        
else
            printf(
"No.\n");
    }
    
return 0;
}

posted @ 2012-03-01 20:10 hoshelly 閱讀(1149) | 評論 (0)編輯 收藏

要求:從終端輸入一組整數(大于10),以0作為結束標志,將這一組整數存放在一個鏈表中(結束標志0不包括在內),打印出該鏈表中的值。然后刪除該鏈表的第5個元素,打印出刪除后的結果。最后在內存中釋放掉該鏈表。
源程序如下:

#include<stdio.h>
#include
<stdlib.h>
#include
<conio.h>
typedef 
int ElemType;
typedef 
struct node{
    ElemType data;
    
struct node *next;
}LNode,
*LinkList;

LinkList GreatLinkList(
int n){
    LinkList p,r,list
=NULL;
    ElemType e;
    
int i;
    
for(i=1;i<=n;i++)
    {
        scanf(
"%d",&e);
        p
=(LinkList)malloc(sizeof(LNode));
        p
->data=e;
        p
->next=NULL;
        
if(!list)
            list
=p; //如果list為空,則說明本次生成的結點為第一個結點,將p賦給list
        else
            r
->next=p;//否則將p賦給r->next,這里r永遠指向原先鏈表的最后一個結點,也就是要插入結點的前一個結點
        r=p;
    }
    
return list;//返回鏈表頭指針
}

void insertList(LinkList *list,LinkList q,ElemType e)
{
    LinkList p;
    p
=(LinkList)malloc(sizeof(LNode));
    p
->data=e;
    
if(!*list){ //當鏈表為空時,將p賦給list,p的next域的值置為空
        *list=p;
        p
->next=NULL;
    }
    
else
    {
        p
->next=q->next;//q為插入指針指向的結點
        q->next=p;
    }
}

void delLink(LinkList *list,LinkList q){
    LinkList r;
    
if(q==*list)//如果刪除第一個結點
    {
        
*list=q->next;
        free(q);
    }
    
else //刪除其他結點
    {
        
for(r=*list;r->next!=q;r=r->next);//當q所指向的結點的前驅結點的指針未知時,需要先通過鏈表頭指針list遍歷鏈表,
                                           
//找到q的前驅結點的指針,并把該指針賦值給指針變量r
        if(r->next!=NULL){
            r
->next=q->next;
            free(q);
        }
    }
}

void destroyLinkList(LinkList *list){
    LinkList p,q;
    p
=*list;
    
while(p)//循環釋放掉每個鏈表結點
    {
        q
=p->next;
        free(p);
        p
=q;
    }
    
*list=NULL;//將該鏈表完全置空,防止list變成野指針
}

void main()
{
    
int e,i;
    LinkList l,q;
    q
=l=GreatLinkList(1);//創建鏈表一個結點,q和l指向該結點
    scanf("%d",&e);
    
while(e) //循環輸入數據,同時插入新生成的結點
    {
        insertList(
&l,q,e);
        q
=q->next;
        scanf(
"%d",&e);
    }
    q
=l;
    printf(
"The content of the linklist\n");
    
while(q) //輸出鏈表中的內容
    {
        printf(
"%d ",q->data);
        q
=q->next;
    }
    q
=l;
    printf(
"\nDelete teh fifthe element\n");
    
for(i=0;i<4;i++)
    {
        q
=q->next;
    }
//將指針q指向鏈表的第5個元素

    delLink(
&l,q);
    q
=l;
    
while(q)
    {
        printf(
"%d ",q->data);
        q
=q->next;
    }
    destroyLinkList(
&l);
    getche();
//輸入后立即從控制臺取字符,不以回車為結束(帶回顯)
}

posted @ 2012-03-01 11:49 hoshelly 閱讀(439) | 評論 (0)編輯 收藏

要求:順序表初始長度為10,向順序表中輸入15個整數,并打印出來;再刪除順序表中的第5個元素,打印出刪除后的結果。
#include<stdio.h>
#include
<conio.h>
#include
<stdlib.h>
#define MaxSize 10
typedef 
int ElemType;
typedef 
struct{
    
int *elem;
    
int length;
    
int listsize;
} Sqlist;
//初始化一個順序表
void initSqlist(Sqlist *L)
{
    L
->elem=(int*)malloc(MaxSize*sizeof(ElemType));
    
if(!L->elem) exit(0);
    L
->length=0;
    L
->listsize=MaxSize;
}

void InsertElem(Sqlist *L,int i,ElemType item){
    ElemType 
*base,*insertPtr,*p;
    
if(i<1||i>L->length+1)exit(0);
    
if(L->length>=L->listsize)
    {
        
base=(ElemType*)realloc(L->elem,(L->listsize+10)*sizeof(ElemType));
        L
->elem=base;
        L
->listsize=L->listsize+100;
    }
    insertPtr
=&(L->elem[i-1]);
    
for(p=&(L->elem[L->length-1]);p>=insertPtr;p--)
        
*(p+1)=*p;
    
*insertPtr=item;
    L
->length++;
}

void DelElem(Sqlist *L,int i)
{
    ElemType 
*delItem,*q;
    
if(i<1||i>L->length) exit(0);
    delItem
=&(L->elem[i-1]);
    q
=L->elem+L->length-1;
    
for(++delItem;delItem<=q;++delItem)*(delItem-1)=*delItem;
    L
->length--;
}

void main()
{
    Sqlist l;
    
int i;
    initSqlist(
&l);
    
for(i=0;i<15;i++)
        InsertElem(
&l,i+1,i+1);
    printf(
"\nThe content of the list is\n");
    
for(i=0;i<l.length;i++)
        printf(
"%d",l.elem[i]);
    DelElem(
&l,5);
    printf(
"\nDelete the fifth element\n");
    
for(i=0;i<l.length;i++)
        printf(
"%d",l.elem[i]);
    getche();
}

posted @ 2012-03-01 01:41 hoshelly 閱讀(355) | 評論 (0)編輯 收藏

僅列出標題
共12頁: First 4 5 6 7 8 9 10 11 12 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产日韩在线一区| 欧美一区成人| 日韩视频专区| 99精品免费网| 亚洲午夜激情| 亚洲欧美日韩精品在线| 亚洲尤物在线视频观看| 欧美一区二区三区四区高清 | 亚洲性感激情| 欧美一区二区三区男人的天堂| 欧美专区中文字幕| 美女视频一区免费观看| 亚洲韩国精品一区| 亚洲激精日韩激精欧美精品| 夜夜嗨一区二区三区| 亚洲欧美在线另类| 欧美成人精品三级在线观看| 欧美午夜精品电影| 在线观看成人av电影| av不卡在线看| 欧美一区二区三区视频| 亚洲黄色片网站| 亚洲欧美另类久久久精品2019| 欧美一区午夜精品| 欧美成人免费在线视频| 国产精品久久久久久亚洲毛片| 国产午夜精品视频免费不卡69堂| 激情成人综合| 亚洲视频在线免费观看| 亚洲在线一区二区三区| 久久免费国产精品| 91久久久久| 久久久99爱| 欧美日韩一区三区四区| 狠狠干综合网| 久久久精品一品道一区| 久久久综合激的五月天| 国产精品黄色| av不卡免费看| 欧美激情五月| 久久精品国产久精国产思思| 国产精品高潮视频| 亚洲精品影视| 欧美成人免费在线| 久久精品官网| 国产午夜精品久久久| 欧美一级理论性理论a| 日韩一级视频免费观看在线| 欧美成人免费在线| 欧美午夜无遮挡| 欧美一区免费| 中文一区在线| 欧美视频二区| 中文亚洲字幕| 一区二区不卡在线视频 午夜欧美不卡'| 美日韩丰满少妇在线观看| 国内精品视频在线播放| 欧美一区二区三区在线观看视频| 99国产精品久久久久老师 | 久久久精彩视频| 国内精品久久久久影院薰衣草| 亚洲欧美日韩一区在线| 亚洲视频自拍偷拍| 国产精品视频99| 欧美在线一二三区| 欧美一区免费视频| 一区二区三区在线观看欧美 | 欧美波霸影院| 久久综合网络一区二区| 亚洲区免费影片| 91久久国产综合久久91精品网站| 欧美成人精品h版在线观看| 亚洲精品一区二区三区蜜桃久| 欧美激情2020午夜免费观看| 欧美成人午夜| 亚洲一线二线三线久久久| 亚洲免费人成在线视频观看| 国产视频在线一区二区 | 一本到高清视频免费精品| 欧美精品二区| 午夜精品久久久久久久| 欧美一区二区视频在线观看| 亚洲高清免费| 99在线热播精品免费99热| 国产欧美日韩在线观看| 欧美xxxx在线观看| 国产精品国产亚洲精品看不卡15| 久久精品日产第一区二区| 老司机成人在线视频| 日韩视频免费| 欧美一级久久久| 99re视频这里只有精品| 亚洲免费一区二区| 亚洲国产天堂久久综合网| 99re66热这里只有精品4| 好吊视频一区二区三区四区| 亚洲精品国产精品国自产观看| 国产精品美女久久久久久免费 | 一本久久a久久精品亚洲| 亚洲午夜av在线| 亚洲日本在线观看| 亚洲专区免费| 亚洲国产精品第一区二区| 艳女tv在线观看国产一区| 国语精品一区| 久久国产精品久久久久久电车| 伊人久久大香线蕉综合热线| 亚洲欧洲一区二区在线观看| 国产欧美欧美| 亚洲韩国精品一区| 在线观看日韩一区| 欧美一级免费视频| 亚洲视频一区二区在线观看| 美女91精品| 久久久国产一区二区| 欧美日韩在线播放一区二区| 欧美成人一区在线| 国产在线成人| 亚洲综合第一| 亚洲夜间福利| 欧美精品91| 欧美黄网免费在线观看| 午夜久久影院| 亚洲欧美中文另类| 欧美日本高清视频| 欧美电影免费观看高清| 国产九九精品视频| 一区二区免费在线观看| 亚洲欧洲精品成人久久奇米网 | 日韩一级片网址| 999亚洲国产精| 欧美成人免费网站| 亚洲国产精品成人综合| 在线观看视频一区二区| 性欧美1819sex性高清| 性欧美精品高清| 国产精品美女久久久浪潮软件| 在线视频精品| 亚洲欧美日韩国产综合在线 | 久久久久一区二区三区四区| 欧美中文在线观看| 国产嫩草一区二区三区在线观看 | 欧美一区二区三区精品电影| 亚洲欧美另类中文字幕| 国产精品成人观看视频国产奇米| 亚洲乱码精品一二三四区日韩在线| 亚洲国产精品一区在线观看不卡 | 欧美二区乱c少妇| 亚洲黄页视频免费观看| 国产精品久久国产精品99gif| 亚洲视频在线观看一区| 亚洲一区二区三区色| 欧美日韩久久不卡| 一区二区日韩免费看| 亚洲欧美另类中文字幕| 国产日韩欧美视频| 欧美专区18| 亚洲无线一线二线三线区别av| 国产精品激情偷乱一区二区∴| 亚洲综合丁香| 久久综合久久综合久久综合| 亚洲电影免费在线观看| 在线视频精品一| 欧美日韩一区二区三区在线视频| 国产一区二区三区av电影 | 欧美在线视频免费观看| 久久亚洲影音av资源网| 亚洲国产精品美女| 欧美日韩精品免费观看视一区二区 | 一区二区视频免费完整版观看| 久久久久久久久久久久久女国产乱| 欧美成人精品| 亚洲一区二区三区久久| 国产有码在线一区二区视频| 欧美xart系列在线观看| 亚洲一本大道在线| 欧美韩国一区| 香港成人在线视频| 亚洲国产免费| 国产精品一区=区| 美女精品在线观看| 一级成人国产| 免费毛片一区二区三区久久久| 一本久久综合| 曰韩精品一区二区| 欧美性猛交视频| 麻豆精品在线播放| 亚洲午夜影视影院在线观看| 女女同性精品视频| 午夜在线电影亚洲一区| 亚洲精品三级| 国产伊人精品| 欧美视频免费| 欧美成人精品| 久久久久久久久岛国免费| 亚洲一二三区精品| 亚洲欧洲午夜| 亚洲国产精品一区| 另类av导航| 久久精品国产亚洲5555|